码迷,mamicode.com
首页 > 其他好文 > 详细

collection模块

时间:2016-06-18 22:26:42      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:

一、计数器

Counter是对字典类型的补充,用于追踪值的出现次数,具备字典的所有功能加自己的功能。

1 import collections
2 obj = collections.Counter(‘aadsdfasddfg‘)  #计数
3 print(obj)
4 Counter({‘d‘: 4, ‘a‘: 3, ‘f‘: 2, ‘s‘: 2, ‘g‘: 1})  #输出结果

方法

1.most_common  #取前几位

obj = collections.Counter(‘aadsdfasddfg‘) 
ret = obj.most_common(4)  #拿前四位
print(ret)
[(‘d‘, 4), (‘a‘, 3), (‘s‘, 2), (‘f‘, 2)]

2.sorted  #输出每个元素

a = sorted(obj)
print(a)
[‘a‘, ‘d‘, ‘f‘, ‘g‘, ‘s‘]  #输出结果

3.join

a = ‘‘.join(sorted(obj.elements()))
print(a)
aaaddddffgss

4.sum  #统计总数

a = sum(obj.values())
print(a)
12  #输出结果

5.

 1 a = obj[‘a‘]  #统计a的个数
 2 print(a)
 3 3  #输出结果
 4 
 5 del obj[‘d‘]  #删除‘d’
 6 b = obj[‘d‘]
 7 print(b)
 8 0  #输出结果
 9 
10 d = collections.Counter(‘asdfgjjk‘)  #新添加一个计数器
11 obj.update(d)  #新计数器更新到obj
12 c = obj[‘a‘]
13 print(c)
14 4  #输出结果
15 
16 obj.clear()  #清空
17 print(obj)
18 
19 e = collections.Counter(‘aaabbc‘)
20 e[‘b‘] -= 2  #其中的‘b‘减去2
21 f = e.most_common()
22 print(f)

6.update  #更新计数器

obj = collections.Counter([‘11‘,‘22‘,‘33‘])
obj.update([‘44‘,‘11‘,‘11‘])
print(obj)
Counter({‘11‘: 3, ‘22‘: 1, ‘44‘: 1, ‘33‘: 1})

7.subtract  #相减

obj.subtract(‘hak‘)  
a = obj[‘a‘]
print(a)
2

二、有序字典(orderedDict)

orderdDict是对字典类型的补充,他记住了字典元素添加的顺序

 1 #有序字典
 2 
 3 import collections
 4 
 5 dic = collections.OrderedDict()
 6 #dic = dict()
 7 dic[‘k1‘] = ‘v1‘
 8 dic[‘k2‘] = ‘v2‘
 9 dic[‘k3‘] = ‘v3‘
10 dic[‘k4‘] = None
11 # dic.setdefault(‘k4‘)  #效果同上
12 print(dic)
13 OrderedDict([(‘k1‘, ‘v1‘), (‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, None)])
14 
15 dic.move_to_end(‘k1‘)  #把k1移到最后
16 print(dic)
17 OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, None), (‘k1‘, ‘v1‘)])
18 
19 dic.popitem()  #把第一个删除
20 print(dic)
21 OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, None)])
22 
23 dic.update({‘k1‘:‘v111‘,‘k10‘:‘v10‘})  #更新
24 print(dic)
25 OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, None), (‘k1‘, ‘v111‘), (‘k10‘, ‘v10‘)])

 

collection模块

标签:

原文地址:http://www.cnblogs.com/yoyovip/p/5596893.html

踩
(0)
赞
(1)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!