1.deque
高效實現插入和刪除操作的雙向列表造挽,適合用于隊列和棧
In [31]: from collections import deque
In [32]: q = deque(['1','2','3'])
In [33]: q.append('4')
In [34]: q.appendleft('5')
In [35]: q
Out[35]: deque(['5', '1', '2', '3', '4'])
2.defaultdict
使用dict時辑莫,如果引用的Key不存在术吝,就會拋出KeyError计济。如果希望key不存在時,返回一個默認值排苍,就可以用defaultdict沦寂。有點類似于scala的getOrElse方法。
In [37]: from collections import defaultdict
In [38]: dict = defaultdict(lambda:'N/A')
In [39]: dict['key1'] = 'abc'
In [40]: dict['key1']
Out[40]: 'abc'
In [41]: dict['key2']
Out[41]: 'N/A'
這個dict如果key不存在的時候返回默認值淘衙,其他的跟默認的dict是一樣的传藏。
3.namedtuple
#不想建立類的時候使用,簡單的vo對象。
In [10]: from collections import namedtuple
In [11]: Point = namedtuple('Point',['x','y'])
In [12]: p = Point(1,2)
In [13]: p.x
Out[13]: 1
In [14]: p.y
Out[14]: 2