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())