Python——collections模块(扩展数据类型)
1、namedtuple:利用坐标、空间坐标,扑克牌等指定空间位置
# namedtuple('名字',[list列表属性])
from collections import namedtuple Point = namedtuple('point',['x','y']) p = Point(1,2) print(p.x) #x坐标 print(p.y) #y坐标 print(p)
2、deque:双端队列,可以快速的从另外一侧最佳和退出对象,具有一个先进先出的概念
#队列
import queue
q = queue.Queue()
q.put(10)
q.put(5)
q.put(6)
print (q.get())
print (q.get())
print (q.get())
print (q.get()) #没有值,一直等待,形成阻塞
q.qsize() #查找队列的大小
#双端队列
from collections import deque
dq = deque([1,2])
dq.append() #从后面放数据
dq.appendleft() #从前面放数据
dq.pop() #从后面取数据
dq.popleft() #从前面取数据
3、OrderedDict 有序的字典
from collections import OrderedDict
d = dict([('a',1),('b',2),('c',3)])
od = OrderedDict(d)
print(od)
print (od.keys())
print (od['a'])
4、defaultdict,使用dict时,如有引用的Key不存在时,就会抛出异常,如有希望Key不存在时,返回一个默认值,可以使用此方法
from collections import defaultdict
d = defaultdict(lambda : 5) #可以设置自己的默认值
print(d['k'])
5、Counter:计数器