一、计数器
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‘)])
时间: 2024-10-10 21:46:34