该模块实现一些有用的容器类型

1.deque(双端队列)
实例方法:
d.append(x)                将x添加到d的右端
d.appendleft(x)           将x添加到d的左端
d.clear()                        删除d中所有项目
d.extend(iterable)        将iterable的所有项目添加到d的右端
d.extendleft(iterable)   将iterable的所有项目添加到d的左端
d.pop()                          返回并删除d右端的项目,如果d为空,则抛出IndexError
d.popleft()                    返回并删除d左端的项目,如果d为空,则抛出IndexError
d.remove(item)            删除首次出现的item,如果未找到匹配值,则抛出ValueError
d.rotate(n)                    将所有项目向右旋转n步,如果n为负值,则向右旋转

2.nametuple(命名元组)
实例方法:
for example:
>>> from collections import namedtuple
>>> People = namedtuple('silence0607','firstname lastname')
>>> silence0607 = People('tang','peng')
>>> silence0607.firstname
'tang'
>>> silence0607.lastname
'peng'
命名元组相对于元组而言,在访问元素的过程中,我们可以使用属性查找,而在元组中,只能通过index访问。在元素比较多的情况下,很难记住每个index对应的元素代表什么意思。namedtuple也可以用类来代替的:
上面这个例子类似于:
#coding=utf-8
#!/usr/bin/env python
class People():
 def __init__(self,firstname,lastname):
  self.firstname = firstname
  self.lastname = lastname
if __name__ == '__main__':
 silence0607 = People('tang','peng')
 print('%s %s') % (silence0607.firstname,silence0607.lastname)
二者工作原理基本一致,但是在属性的访问过程中,namedtuple要比class慢两倍!
10-08 03:18