python----collections模块

from collections import namedtuple,deque,defaultdict,OrderedDict,Counter
import queue

#可命名元组,namedtuple
Point = namedtuple('Point',['x','y'])
p = Point(1,2)
print(p.x,p.y) #输出结果:1 2

# deque 双端队列
a = deque(['a','b','c','d'])
a.appendleft('x')
print(a) #输出结果 :deque(['x', 'a', 'b', 'c', 'd'])
a.append('y')
print(a) #输出结果 :deque(['x', 'a', 'b', 'c', 'd', 'y'])
b = a.pop()
print(b) #输出结果 :y
c = a.popleft()
print(c) #输出结果 :x
a.insert(2,3) #不建议这么用
print(a)    #输出结果;deque(['a', 'b', 3, 'c', 'd'])

#队列 先进先出 FIFO
q = queue.Queue()
q.put(10)
q.put(5)
q.put(4)
q.put(3)
q.put(2)
print(q)
print(q.get()) # 10
print(q.get()) #5
print(q.qsize())

#defaultdict
dic = defaultdict(lambda :'N/A')
dic['k1'] = 'abc'
print(dic['k2']) #输出结果 N/A。key不存在时返回默认值。

#OrderedDict 有序字典
d = OrderedDict([('a',1),('b',2),('c',3)])
print(list(d.keys()))

#Counter 该类的目的时用来跟踪值出现的次数,是一个无序容器,以字典形式存储
#其中元素作为key,其计数作为value。
cc = Counter('abcdadfkdfj')
print(cc) #输出结果:Counter({'d': 3, 'f': 2, 'a': 2, 'c': 1, 'k': 1, 'j': 1, 'b': 1})
#其详细介绍地址:http://wwww.cnblogs.com/Eva-J/articles/7291842.html
原文地址:https://www.cnblogs.com/xiangrikuidebuluo/p/9542559.html