collections 实现了专用的 容器 数据类型
后续遇到相似方法在更新
容 器 | 描述 |
namedtuple() | |
deque | 为了高效实现插入和删除操作的双向列表,适合用于队列和栈 |
Counter | 用于追踪值出现的次数 |
1.namedtuple
tuple元组的item只能通过index访问,collections模块的namedtuple子类不仅可以使用item的index访问item,还可以通过item的name进行访问.
coordinate = namedtuple('Coordinate', ['x', 'y'])
co = coordinate(10,20)
print co.x,co.y
print co[0],co[1]
co = coordinate._make([100,200])
print co.x,co.y
co = co._replace(x = 30)
print co.x,co.y
results:
10 20
10 20
100 200
30 200
2. deque
使用示例: deque([1], maxlen=5)
deque
除了实现list的append()
和pop()
外,还支持appendleft()
和popleft()
,这样就可以非常高效地往头部添加或删除元素。
3. Counter(继承了字典的类) :
3.1 most_common([n])
返回一个TopN 列表 。如果n没有被指定,则返回所有元素。当多个元素计数值相同时,按照字母序排序。