collection模块中有几种数据结构我们可能用得到。
Counter是字典的子类,负责计数的一个字典,支持 + 加法 - 减法 & 求公共元素 | 求并集
print('Counter类型的应用') c = Counter("dengjingdong") #c = Counter({'n': 3, 'g': 3, 'd': 2, 'i': 1, 'o': 1, 'e': 1, 'j': 1}) print("原始数据:",c) print("最多的两个元素:",c.most_common(2))#输出数量最多的元素 print("d的个数:",c['d'])#输出d的个数 print(c.values())#输出字典的value列表 print(sum(c.values()))#输出总字符数 print(sorted(c.elements()))#将字典中的数据,按字典序排序 print('\n\n') """ #删除所有d元素 del c['d'] b = Counter("dengxiaoxiao") #通过subtract函数删除元素,元素个数可以变成负数。 c.subtract(b) """ """ 可以添加数据 b = Counter("qinghuabeida") c.update(b) """OrderedDict类型是一个有序的字典,它其实就是比普通字典多了一个顺序。
print('OrderedDict类型的应用') dic = {} dic['a'] = 'A' dic['b'] = 'B' dic['c'] = 'C' odic = OrderedDict() odic['a'] = 'A' odic['b'] = 'B' odic['c'] = 'C' print('无序字典:',dic) print('有序字典:',odic) print('\n\n')
print('namedtup类型的应用') deng = namedtuple('deng',['x','y']) i = deng(x = 11,y = 12) print('i的值为:', i ) print('将两个值相加:',i[0]+i[1]) print('用属性的方式相加:',i.x+i.y) m,n = i print('类似元组的赋值:',m,n) d = i._asdict() print('转化为一个字典:',d)