當前位置:首頁 » 編程語言 » python統計個數

python統計個數

發布時間: 2022-12-22 00:33:23

python函數統計字元串中字母數學其他字元的個數

代碼如下:



text = "Hello Python,Hello 2021."
letter = 0
digital = 0
other = 0
for i in text:
if i.isalpha():
letter += 1
elif i.isdigit():
digital += 1
else:
other += 1

print('字母:{} 數字:{} 其他:{}'.format(letter,digital,other))


輸出:

字母:16 數字:4 其他:4


下面是Python內置關於判斷字元串類型的方法介紹:

  • str.isalnum()

  • 如果字元串中的所有字元都是字母或數字且至少有一個字元,則返回True, 否則返回False。 如果c.isalpha(),c.isdecimal(),c.isdigit(),或c.isnumeric()之中有一個返回True,則字元``c``是字母或數字。

  • str.isalpha()

  • 如果字元串中的所有字元都是字母,並且至少有一個字元,返回True,否則返回False。字母字元是指那些在 Unicode 字元資料庫中定義為 "Letter" 的字元,即那些具有 "Lm"、"Lt"、"Lu"、"Ll" 或 "Lo" 之一的通用類別屬性的字元。 注意,這與 Unicode 標准中定義的"字母"屬性不同。

  • str.isascii()

  • 如果字元串為空或字元串中的所有字元都是 ASCII ,返回True,否則返回False。ASCII 字元的碼點范圍是 U+0000-U+007F 。

    3.7 新版功能.

  • str.isdecimal()

  • 如果字元串中的所有字元都是十進制字元且該字元串至少有一個字元,則返回True, 否則返回False。十進制字元指那些可以用來組成10進制數字的字元,例如 U+0660 ,即阿拉伯字母數字0 。 嚴格地講,十進制字元是 Unicode 通用類別 "Nd" 中的一個字元。

  • str.isdigit()

  • 如果字元串中的所有字元都是數字,並且至少有一個字元,返回True,否則返回False。 數字包括十進制字元和需要特殊處理的數字,如兼容性上標數字。這包括了不能用來組成 10 進制數的數字,如 Kharosthi 數。 嚴格地講,數字是指屬性值為 Numeric_Type=Digit 或 Numeric_Type=Decimal 的字元。

  • str.isidentifier()

  • 如果字元串是有效的標識符,返回True,依據語言定義,標識符和關鍵位元組。

    調用keyword.iskeyword()來檢測字元串s是否為保留標識符,例如def和class。

② 如何統計python list中元素的個數及其位置

代碼如下:
list1=[2,3,1,9,112,23,23,6,6,1,3,0,11,2,1,1]
L1=len(list1) #列表list1的長度
list2=list(set(list1)) #可以用set,直接去掉重復的元素
list2.sort(reverse=False) #將列表由小到大排序
L2=len(list2) #列表list2的長度
print('集合:'+str(list1))
for m in range(L2):
X=set() #設定一個空的集合,用來存放這個元素的所在的位置
start=list1.index(list2[m])
for n in range(L1):
stop=L1
if list2[m] in tuple(list1)[start:stop]:
a=list1.index(list2[m],start,stop)
X.add(a)
start=start+1
print('元素:'+str(list2[m])+',一共有'+str(len(X))+'個,在列表位置集合為:'+str(X))
結果如下:
集合:[2, 3, 1, 9, 112, 23, 23, 6, 6, 1, 3, 0, 11, 2, 1, 1]
元素:0,一共有1個,在列表位置集合為:{11}
元素:1,一共有4個,在列表位置集合為:{9, 2, 14, 15}
元素:2,一共有2個,在列表位置集合為:{0, 13}
元素:3,一共有2個,在列表位置集合為:{1, 10}
元素:6,一共有2個,在列表位置集合為:{8, 7}
元素:9,一共有1個,在列表位置集合為:{3}
元素:11,一共有1個,在列表位置集合為:{12}
元素:23,一共有2個,在列表位置集合為:{5, 6}
元素:112,一共有1個,在列表位置集合為:{4}
---------------------
作者:散仙黃曉煙
來源:CSDN
原文:https://blog.csdn.net/qq_14860599/article/details/80218822
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

③ 用Python怎麼統計一個列表的元素種類和各個種類的個數

統計一個列表中每一個元素的個數在Python里有兩種實現方式,

第一種是新建一個dict,鍵是列表中的元素,值是統計的個數,然後遍歷list。

items=["cc","cc","ct","ct","ac"]

count={}
foriteminitems:
count[item]=count.get(item,0)+1
print(count)
#{'ac':1,'ct':2,'cc':2}

之中用到了一個小技巧,當dict中不還沒有統計過一個元素時,直接索引count[item]會報錯,而使用get方法count.get(item, 0)能夠設置索引不存在的鍵時返回0。


第二種是使用Python內置的函數。統計元素的個數是一種非常常見的操作,Python的collection包里已經有一個Counter的類,大致實現了上面的功能。

fromcollectionsimportCounter

items=["cc","cc","ct","ct","ac"]
count=Counter(items)
print(count)
#Counter({'ct':2,'cc':2,'ac':1})

④ python如何在給定的字元串中,統計某個特定子串的數量

代碼如下:【備注】:1. 用str.split(',')只能分隔逗號一種;如果涉及到多重分隔的話就需要使用re.split(',|:')。2. 原字元串以逗號分隔的,後面有一個或多個字元串,所以re.split(', | ')。3. 執行re.split(r', | ', S)操作之後,列表中會產生大量的'',就需要將filter過濾掉。4. 使用L.count(x) == 1 或者 L.count(x) > 1來保留重復項或,非重復項。5. set(L)則是保留列表中的唯一項,再用list()將其轉換為列表。6. 使用', '.join(L),將列表拼接成我們想要的字元串。

⑤ python如何用字典統計列表中不同元素個數

  • 打開pycharm工具,新建python文件,打開文件並定義列表k,進行賦值

⑥ python統計各字母個數

一、實現思路
需要統計字元串中每個字母出現的次數;如果字母是第一次出現的話,就把次數置為1,如果字母非第一次出現的話,就需要在原字母已保存次數上加1;仔細思考一下,需要保存字母和出現次數,然後相同字母出現多次的話,需要在原字母保存的次數加1;字典這種數據類型可以實現這種需求。

二、代碼實現
2.1 統計字母出現次數
統計字元串每個字母出現次數源碼

def count_each_char(str):
dict = {}
for i in str:
if i not in dict:
dict[i] = 1
else:
dict[i] += 1
return dict

if __name__ == "__main__":
res = count_each_char("abdefdcsdf")
print(res)
簡化版統計字元串字母出現次數源碼:

dict[i] 表示的是字典中字母對應的value(出現次數)
dict.get(i,0)+1 表示的是從字典獲取字母,如果字典中沒有查找到對應字母,則將字母i,次數1存入字典

def count_each_char(str):
dict = {}
for i in str:
dict[i]=dict.get(i,0)+1
return dict
運行結果:2.2 按字母出現次數排序
根據字母出現次數倒序排列源碼:

def count_each_char_sort_value(str):
dict = {}
for i in str:
dict[i] = dict.get(i, 0) + 1

# sorted 方法會生成一個排序好的容器
# operator.itemgetter(1) 獲取字典第一維的數據進行排序
# reverse 表示倒序排列
dict=sorted(dict.items(),key= operator.itemgetter(1),reverse=True)
return dict

if __name__ == "__main__":
res = count_each_char_sort_value("abdefdcsdf")
print(res)
運行結果:

從運行結果可以看出,通過調用sorted方法,已經根據指定的key進行倒序排序了

⑦ python用字典統計不同字元的個數

這里用到了字典基本的建立,value調用,鍵值對增加,value修改,以及items()函數。

編程實現
流程:文件遍歷-除去空白——判斷字典中有無該字元——有則Value加1,無則新建為1——按Value排序並返回

具體實現代碼如下:

#統計txt文件中的字元頻率
def countwords(txt):
stat = {}#建立字典存儲存儲字元和對應頻率
for line in txt:
line = line.strip()
if len(line) == 0:
continue
for i in range(len(line)):
#判斷有無該字元的鍵
if(line[i] in stat):
stat[line[i]]+=1
else:
stat[line[i]]=1
result=sorted(stat.items(),key = lambda x:x[1],reverse = True)#按value大小排序
return result
xyj = open('xyj.txt' ,'r',encoding = 'utf-8')#讀文件
r=countwords(xyj)#調用函數
xyj.close

⑧ 如何統計python list中元素的個數及其位置

l=[1,2,3,4,1]#目標數列
targetnum=1#元素
number=l.count(targetnum)
print('個數:'+str(number))
i=number
index=[]
whilei>0:
forxinrange(len(l)):
ifl[x]==targetnum:
index.append(x+1)
i=i-1
print('位置(第幾個):'+str(index))

熱點內容
c語言跳出死循環 發布:2025-05-15 20:06:04 瀏覽:823
a19處理器相當於安卓哪個水平 發布:2025-05-15 20:05:29 瀏覽:638
榮耀9i安卓強行關機按哪個鍵 發布:2025-05-15 20:00:32 瀏覽:749
密碼鎖寫什麼最好 發布:2025-05-15 19:05:31 瀏覽:782
5的源碼是 發布:2025-05-15 19:04:07 瀏覽:719
c語言創建的源文件 發布:2025-05-15 18:54:08 瀏覽:611
3個數字密碼鎖有多少種 發布:2025-05-15 18:49:48 瀏覽:684
壓縮包手機打開 發布:2025-05-15 18:37:34 瀏覽:217
安卓取消耳機模式怎麼取消 發布:2025-05-15 18:24:24 瀏覽:59
氣球怎麼解壓視頻 發布:2025-05-15 18:20:00 瀏覽:783