collection是python内建的一个集合模块,包含很多集合类,比如栈队列元组等。

常用函数:

deque:创建双向队列,可以高效实现插入和删除操作,适合用于队列和栈

append:往右边添加一个元素

appenleft:往左边添加一个元素

用法:

from collections import deque
queue = deque(["Eric", "John", "Michael"])
queue.append("Terry")           # Terry 入队
queue.append("Graham")          # Graham 入队

 

popleft:获取最左边的一个元素,并在队列中删除

pop: 获取最右边的元素,并在队列中删除

用法(接上面):

queue.popleft()                 # 队首元素出队
#输出: 'Eric'
queue.pop()                 # 队首元素出队
#输出: 'Graham'
print(queue)                           # 队列中剩下的元素
#输出: deque(['John', 'Michael', 'Terry'])

上面是双向队列的几个函数,collections还有很多种类。

 

比如:

defaultdict,当使用dict时,若应用的key不存在,可以使用defauldict返回一个默认值

用法:

>>> from collections import defaultdict
>>> dd = defaultdict(lambda: 'N/A')
>>> dd['key1'] = '123'
>>> dd['key1'] # key1存在
'123'
>>> dd['key2'] # key2不存在,返回默认值
'N/A'

注意默认值时调用函数返回的,函数在创建defaultdict对象时传入。

 

还有常用的计数器:

Counter: 简单的计数器,可以用来统计次数

用法:

>>> from collections import Counter
>>> c = Counter()
>>> for ch in 'programming':
...     c[ch] = c[ch] + 1
...
>>> c
Counter({'g': 2, 'm': 2, 'r': 2, 'a': 1, 'i': 1, 'o': 1, 'n': 1, 'p': 1})

还有一些比如有序字典,可命名元组等类,可以自己去了解。