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:计数器

posted @ 2018-10-07 20:14  澄心元素  阅读(122)  评论(0编辑  收藏  举报