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])