学习python——collections系列

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) #返回keyvalue

 

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、队列

1deque(双向队列)方法appendextend的区别: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()

  1. put(‘123’)

Print(q.qsize())

Print(q.get())

 

6、深浅拷贝

浅拷贝只拷贝一层,而深拷贝拷贝至最小单位。

猜你喜欢

转载自www.cnblogs.com/zyycumt/p/11540211.html