Python Counter函数详解攻略
什么是Python Counter函数?
Python Counter函数是collections模块中的一个类,用于统计可迭代对象中元素出现的次数。它返回一个字典,其中键是元素,值是元素出现的次数。
Python Counter函数的语法
Python Counter函数的语法如下:
from collections import Counter
Counter(iterable)
其中,iterable表示可迭代对象(例如,list、tuple、str、dict、set、generator等)。
Python Counter函数的应用
- 统计列表中元素出现的次数
from collections import Counter
lst = ['apple', 'banana', 'orange', 'apple', 'banana', 'banana']
count = Counter(lst)
print(count)
输出结果为:
Counter({'banana': 3, 'apple': 2, 'orange': 1})
- 统计字符串中字符出现的次数
from collections import Counter
str1 = 'Hello, let\'s learn Python together!'
count = Counter(str1)
print(count)
输出结果为:
Counter({'l': 4, 'e': 3, 'o': 3, ' ': 3, 't': 3, 'H': 1, ',': 1, '\'': 1, 's': 1, 'r': 1, 'n': 1, 'P': 1, 'y': 1, 'h': 1, '!': 1})
- 取出Counter函数返回的元素列表
可以使用keys()
和values()
方法分别取出Counter函数返回的键和值,还可以使用most_common()
方法返回出现次数最多的元素及其出现次数。
from collections import Counter
lst = ['apple', 'banana', 'orange', 'apple', 'banana', 'banana']
count = Counter(lst)
print(count.keys()) # 输出['apple', 'banana', 'orange']
print(count.values()) # 输出[2, 3, 1]
print(count.most_common(2)) # 输出[('banana', 3), ('apple', 2)]
Python Counter函数的高级应用
- 与算术运算符结合使用
Python Counter函数的一个非常实用的特性是可以与算术运算符结合使用,例如加法、减法、交集和并集等,非常方便。
from collections import Counter
lst1 = ['apple', 'banana', 'orange', 'apple', 'banana', 'banana']
lst2 = ['banana', 'strawberry', 'grape']
count1 = Counter(lst1)
count2 = Counter(lst2)
print(count1 + count2) # Counter({'banana': 4, 'apple': 2, 'orange': 1, 'strawberry': 1, 'grape': 1})
print(count1 - count2) # Counter({'apple': 2, 'orange': 1})
print(count1 & count2) # Counter({'banana': 1})
print(count1 | count2) # Counter({'banana': 3, 'apple': 2, 'orange': 1, 'strawberry': 1, 'grape': 1})
- 为字典提供默认值
可以使用Python Counter函数为字典提供默认值。例如,将Counter函数作为字典的默认工厂,可以轻松处理查询字典中不存在的键的情况。
from collections import Counter
count = Counter()
lst = ['apple', 'banana', 'orange', 'apple', 'banana', 'banana']
for word in lst:
count[word] += 1
print(count['apple']) # 输出2
print(count['pear']) # 输出0
以上就是Python Counter函数的详细讲解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python counter函数详解 - Python技术站