今天学习了Python的Counter函数,做笔记加强一下记忆
目录
len(counter) 与 sum(counter.values()) 的区别
Counter功能:可以支持方便、快速的计数,将元素数量统计,然后计数并返回一个字典,键为元素,值为元素个数。
示例:
from collections import Counter
# 创建一个 Counter 对象
counter = Counter(['a', 'b', 'a', 'c', 'b', 'a'])
print(len(counter)) # 输出: 3(不同元素的数量)
print(sum(counter.values())) # 输出: 6(所有元素的总数)
###################分割线#####################
print(counter.items()) #counter.items()获取字典的key和value
#结果:按字母顺序排序的
#counter_items([('a', 3), ('b', 2), ('c', 1)])
print(counter.keys())
#结果:
#counter_keys(['a', 'b', 'c'])
print(counter.values())
#结果:
#counter_values([3, 2, 1])
len(counter)
与 sum(counter.values())
的区别
-
len(counter)
:返回 不同元素的数量。 -
sum(counter.values())
:返回 所有元素的计数总和。
在滑动窗口中的应用
在滑动窗口问题中,len(counter)
常用于检查窗口中 不同元素的数量 是否满足条件。
eg:
from collections import Counter
# 假设窗口中的元素是 [1, 2, 2, 3]
window = [1, 2, 2, 3]
# 使用 Counter 统计元素频率
counter = Counter(window)
# 不同元素的数量
unique_count = len(counter)
print("不同元素的数量:", unique_count) # 输出: 3
总结
-
len(counter)
返回Counter
对象中 不同元素的数量。 -
在滑动窗口问题中,
len(counter)
是检查窗口中不同元素数量的高效方法。 -
如果需要统计所有元素的总数,可以使用
sum(counter.values())
。