當前位置:首頁 » 編程語言 » python字元統計

python字元統計

發布時間: 2022-12-10 15:46:58

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中count函數怎麼用

統計列表中字元的出現頻率
inp_lst = ['Apple','Banana','Apple','Grapes','Jackfruit','Apple']

lst_cnt = inp_lst.count('Apple')
print(lst_cnt)

⑷ 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接收輸入一個字元串,統計其中小寫字母的個數

可以這樣編寫程序:

1、定義一個含有所有小寫字母的列表變數w及一個待測字元串變數s。

2、對s字元串中的每一個字元進行循環迭代檢測其是否位於變數w中,若為真,則對計數變數c進行加一操作。

3、輸出c變數,即為所求。

具體代碼及運行示例如下圖所示:

程序代碼及示例運行結果

⑹ 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),將列表拼接成我們想要的字元串。

熱點內容
做解壓橡皮 發布:2025-01-21 15:03:06 瀏覽:990
雙系統win訪問mac 發布:2025-01-21 14:53:52 瀏覽:484
安卓車機系統如何安裝carplay 發布:2025-01-21 14:52:24 瀏覽:589
sql操作手冊 發布:2025-01-21 14:46:08 瀏覽:311
青橙腳本 發布:2025-01-21 14:44:05 瀏覽:218
東風本田crv時尚版是什麼配置 發布:2025-01-21 14:20:04 瀏覽:219
安卓如何多開軟體每個機型不一樣 發布:2025-01-21 14:15:29 瀏覽:501
iis配置php5 發布:2025-01-21 14:08:19 瀏覽:274
凱叔講故事為什麼聯系不到伺服器 發布:2025-01-21 13:56:50 瀏覽:387
linux鏡像文件下載 發布:2025-01-21 13:34:36 瀏覽:218