1. collections.defaultdict()
用于缺省的时候用,比如:
D = collections.defaultdict(list)
D2 = collections.defaultdict(int)
# 打印出 []
print(D['a'])
# 打印出 0
print(D2['a'])
# 如果是直接使用python的{},下面这样会报KeyError
d = {}
print(d['a'])
2. collections.deque
queue.Queue 用于多线程之间,无需lock的通信;
collections.deque 用于实现数据结构中的queue, 且push,pop的效率更高,因为是双端队列,push,pop都为O(1)