collections
- 1.collection.counter(list)
- 2.collections.defaultdict()
- 3.collection.deque
collections是Python內建的一個集合模塊,提供了許多有用的集合類。
collections在python官方文檔中的解釋是High-performance container datatypes
1.collection.counter(list)
可以用于統計list 中各個元素的個數,形成一個字典。
#統計詞頻
colors = ['red', 'blue', 'red', 'green', 'blue', 'blue']
result = {}
for color in colors:if result.get(color)==None:result[color]=1else:result[color]+=1
print (result)
#{'red': 2, 'blue': 3, 'green': 1}
用counter 實現
from collections import Counter
colors = ['red', 'blue', 'red', 'green', 'blue', 'blue']
result = Counter(colors)
print(result)
#Counter({'blue': 3, 'red': 2, 'green': 1})
print(dict(result))
#{'red': 2, 'blue': 3, 'green': 1}
參考博文:https://blog.csdn.net/qwe1257/article/details/83272340
2.collections.defaultdict()
Python中通過Key訪問字典,當Key不存在時,會引發‘KeyError’異常。為了避免這種情況的發生,可以使用collections類中的defaultdict()方法來為字典提供默認值。
參考資料:https://blog.csdn.net/yangsong95/article/details/82319675
3.collection.deque
list 實現堆棧先進后出的結構:append(),pop()
list 實現隊列先進先出的就夠:append(),pop(0),效率不高,推薦使用collection.deque
from collections import deque
queue = deque([7, 8, 9])
queue.append(10)
queue.append(11)
queue.popleft()
print(queue) # 輸出:deque([8, 9, 10, 11])