collections模块
1.namedtuple: 生成可以使用名字来访问元素内容的tuple
from collections import namedtuple # namedtuple 命名元祖 P = namedtuple("point",['x','y']) p1 = P(1,2) p2 = P(3,4) print(p1.x ) print(p1.y ) print(p2.x ) print(p2.y ) # 1 # 2 # 3 # 4 P2 = namedtuple("bir",["year","mon","day"]) p3 = P2(1993,2,2) print(p3.year) print(p3.mon) print(p3.day) # 1993 # 2 # 2
2.deque: 双端队列,可以快速的从另外一侧追加和推出对象
# 队列 import queue q = queue.Queue() q.put(1) q.put(2) q.put("aaa") q.put("bbb") #不能直接打印队列内容,但可以打野队列的长度 print(q.qsize()) print(q.get()) print(q.get()) print(q.get()) print(q.get()) # 4 # 1 # 2 # aaa # bbb # for i in range(q.qsize()) : # print(q.get()) 这是循环 # 先进来先处理
from collections import deque dq = deque() dq.append("a") dq.append("b") dq.appendleft("c") print(dq) print(dq.pop()) # 从右边开始删除 print(dq.popleft()) #从左边删除 # deque(['c', 'a', 'b']) # b # c
3.Counter: 计数器,主要用来计数
4.OrderedDict: 有序字典
# 有序的字典 from collections import OrderedDict d = dict([("a",1),("b",2)]) print(d) #{'a': 1, 'b': 2} 这是正常的字典,key是无序的 od = OrderedDict([("a",1),("b",2)]) print(od) #OrderedDict([('a', 1), ('b', 2)]) 没有索引,但是是有序存在
5.defaultdict: 带有默认值的字典

浙公网安备 33010602011771号