学习版本3.5.2
1.namedtuple,是tuple的子类,字面意思可命名的元组,就是用来创建一个给各个元素都加上了key的tuple。
#/usr/bin/python3
# -*- utf-8 -*-
#学习版本3.5.2
import collections
if __name__ == "__main__":
a = (1,2,3)
newtuple = collections.namedtuple('newtuple',['a','b','c'])
b = newtuple(1,2,3)
print("a:",a)
print("a[0]:",a[0])
print("="*20)
print("b:",b)
print("b[0]:",b[0])
print("b.a:",b.a)
运行结果
a: (1, 2, 3)
a[0]: 1
====================
b: newtuple(a=1, b=2, c=3)
b[0]: 1
b.a: 1
2.deque,是双端队列,类似list,但是它能在两端都快速的进行append和pop操作。
#/usr/bin/python3
# -*- utf-8 -*-
#学习版本3.5.2
import collections
if __name__ == "__main__":
que = collections.deque([1,2,3]) #用list初始化que
que.append(2)#在右侧插入2
que.appendleft(3)#在左侧插入3
print(que.count(2))#返回等于2的元素的数量
que.extend(['a','b'])#把list里的元素一个一个插入到右侧
que.extendleft(['c','d'])#把list里的元素一个一个插入到左侧
print(que.index(2))#返回等于2的第一个位置
que.insert(5,'g')#在5位置插入'g'
que.pop()#删除右侧的第一个元素
que.popleft()#删除左侧的第一个元素
que.remove(2)#删除第一个等于2的元素
que.reverse()#把que左右顺序颠倒
que.rotate(3)#把que右侧的3个元素放到左侧
que.clear()#清空que
3.ChainMap,map链,将dict放到一起来方便查询
#/usr/bin/python3
# -*- utf-8 -*-
#学习版本3.5.2
import collections
if __name__ == "__main__":
dict1 = {'