1. 程式人生 > >【python】collections的使用

【python】collections的使用

font pen mos 科技 imp div set -s adl

老師布置了一個課後作業。

統計文本中字母出現的次數並找到最大的那一個

首先是讀取文本吧。和c裏的也差不多,打開,關閉,讀取。

1 path = YourPath 2 f = open(path) 3 f.close()

然後就用到了這個黑科技。collections裏的Counter。計數功能很強大。

代碼:

 1 from collections import Counter
 2 
 3 path = YourPath
 4 f = open(path)
 5 lines = f.readlines()
 6 strs = []
 7 for line in
lines: 8 9 for i in line: 10 if i >= a and i <= z: 11 strs.append(i) 12 if i >= A and i <= Z: 13 strs.append(i) 14 #print(Counter(strs)) 15 print(Counter(strs).most_common(1)) 16 f.close()

導入模式如上圖。Counter可以對list裏的元素計數。並且有專門的方法調用返回最大值,並且默認返回最大值的值以最大值那個數。

常用操作:

 1 # 所有計數的總數
 2 sum(c.values())
 3 # 重置Counter對象,註意不是刪除
 4 c.clear()
 5 # 將c中的鍵轉為列表
 6 list(c)
 7 # 將c中的鍵轉為set
 8 set(c)
 9 # 將c中的鍵值對轉為字典
10 dict(c)  
11 #取出計數最多的n個元素
12 c.most_common(n)
13 # 取出計數最少的n-1個元素
14 c.most_common()[:-n:-1]
15 # 移除0和負值
16 c += Counter()  


有任何好的見解或者我有任何錯誤都請評論鴨qwq

【python】collections的使用