1:collections模块
有序字典 py3.6以后自动有序
Counter 计数器
默认字典
可命名元祖
双端队列
字典创建
dic = {'a':1} d = dict([('a',1),('k1','v1')]) print(d)
3.6以前字典无序变有序
from collections import OrderedDict dic = OrderedDict([('a',1),('k1','v1')]) print(dic) dic['k2'] = 'v2' print(dic)
可命名元祖:
类似一个没有方法的类型,
['year','month','day'] 是对象属性名
Struct_time 是类的名字
这个类的最大特点就是一但实例化,不能修改属性的值
from collections import namedtuple birth = namedtuple('Struct_time',['year','month','day']) b1 = birth(2018,9,5) print(type(b1)) print(b1.year) print(b1.month)
双端队列
from collections import deque dq = deque() dq.append(1) dq.append(2) dq.appendleft(3) print(dq) print(dq.pop()) print(dq.popleft())
import queue q = queue.Queue() # 队列 q.put(1) q.put(2) q.put('aaa') q.put([1,2,3]) q.put({'k':'v'}) print(q.get()) print(q.get())