collections模块

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

  

 

原文地址:https://www.cnblogs.com/lijinming110/p/9600429.html