1、counter——对字典类型的补充,用于追踪值的出现次数。具备字典的功能+自己的功能。继承了dict的功能。
Eg:
Import collections
Obj=collections.Counter(“aabbccddds”) #对字符串里的字母记数,Counter首字母大写
Ret=obj.mostcommon(3) #拿到前三项
Print(obj)
#For循环查看obj里的东西
For item in obj.element():
Print(item) #返回的值是key,有几个key就返回几个
For k,v in obj.items():
print(k,v) #返回key和value
obj.update([‘eric’,’11’,’11’]) #更新
Obj.subtract([‘eric’]) #删除
2、有序字典
Dic=collections.OrderDict()
Dic[‘k1’]=’v1’
Dict[‘k2’]=’v2’
Print(dic)
Dic.move_to_end(‘k1’) #把k1键所代表的键和值,拿到最后面
Print(dic)
3、默认字典defaultdict
Dic=collections.defaultdict(list)
Dic[‘k1’].append(‘alex’)
Print(dic)
4、可命名元组(命名了一个元组叫做MytupleClass,然后里面有三个键和值)
MytupleClass=collections.namedtuple('MytupleClass',['x','y','z'])
obj=MytupleClass(11,22,33)
print(obj)
print(obj.x)
print(obj.y)
print(obj.z)
5、队列
(1)deque(双向队列)方法append和extend的区别:append将加入的东西看作一个对象作为整体加入,extend将加入的东西看做一个序列加入;count方法记数队列里的字符个数;rotate将字符串末尾的字符一个一个的拿到前面,比如2就进行两次。
d=collections.deque()
a=['ili','li','u']
d.append(1)
d.appendleft('10')
d.append(a)
print(d)
r=d.count(1)
print(r)
d.extend(a)
print(d)
d.rotate(2)
print(d)
运行结果》》
deque(['10', 1, ['ili', 'li', 'u']])
1
deque(['10', 1, ['ili', 'li', 'u'], 'ili', 'li', 'u'])
deque(['li', 'u', '10', 1, ['ili', 'li', 'u'], 'ili'])
(2)单项队列queue
Import queue
Q=queue.Queue()
- put(‘123’)
Print(q.qsize())
Print(q.get())
6、深浅拷贝
浅拷贝只拷贝一层,而深拷贝拷贝至最小单位。