Contents

Python-标准库-Collections

Contents

python官网标准库参考

python官网标准库详细文档索引

python官网语言参考文档

python官网标准库参考collections

这个模块实现了特定目标的容器,以提供Python标准内建容器 dict , list , set , 和 tuple 的替代选择

Counter

Counter 是 dict 的子类,用于计数可哈希对象。计数可以是任何整数值,包括0和负数。

Counter也有默认值为0,所以不用判断是否存在某数据项x,而直接让x对应的值加1

1
2
3
4
5
6
7
8
from collections import Counter

# Instantiate an empty Counter object
counter = Counter()

# Add elements to the Counter object
for item in items:
    counter[item] += 1

运算符

合并两个Counter

  • +:相同项的值相加
  • -:相同项的值进行减法运算
  • &:交集,相同项取最小值
  • |:并集,相同项取最大值

方法

  • 字典的所有方法
  • update:可以高效的合并两个Counter,将第二个Counter的值加到第一个Counter的值
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from collections import Counter

my_list1 = ['apple', 'banana', 'apple', 'pear', 'banana', 'orange']
my_list2 = ['apple', 'banana', 'pear', 'pear', 'orange', 'orange']
my_list3 = ['apple', 'pear', 'pear', 'pear', 'orange']
my_dict1 = Counter(my_list1)
my_dict2 = Counter(my_list2)
my_dict3 = Counter(my_list3)
merged_dict = my_dict1.copy()
merged_dict.update(my_dict2)
merged_dict.update(my_dict3)
print(merged_dict)
 |