📜  Python|按顺序列出元素计数(1)

📅  最后修改于: 2023-12-03 15:04:25.998000             🧑  作者: Mango

Python | 按顺序列出元素计数

简介

在 Python 中,如果想要对一个列表中的元素进行计数,可以使用内置的 collections 模块中的 Counter() 函数。这个函数可以让你对一个可迭代对象中的元素计数,并返回一个字典,其中元素作为键,值作为元素统计次数。这个字典也可以按照元素计数从大到小的顺序进行排序输出。

函数原型
class collections.Counter([iterable-or-mapping])
使用方法
基本用法

最基本的 collections.Counter() 用法是将一个可迭代对象作为参数传入函数中,这个函数会对这个可迭代对象进行元素计数。

from collections import Counter

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
count = Counter(lst)

print(count)

运行这段代码会输出以下结果:

Counter({5: 3, 3: 2, 1: 2, 2: 1, 4: 1, 9: 1, 6: 1})

这个结果表示,列表中出现次数最多的元素是 5,出现了 3 次,其次是 3,出现了 2 次,以此类推。

对字典元素进行计数

collections.Counter() 也可以对字典元素进行计数,这时候可以将这个字典作为参数传入函数中。这个函数会对字典中的值进行计数,并返回一个字典,其中键为原字典中的键,值为原字典中对应键的值的计数。

from collections import Counter

dct = {'apple': 2, 'banana': 3, 'orange': 1}
count = Counter(dct)

print(count)

运行这段代码会输出以下结果:

Counter({'banana': 3, 'apple': 2, 'orange': 1})

这个结果表示,字典中出现次数最多的元素是 banana,出现了 3 次,其次是 apple,出现了 2 次,以此类推。

按顺序列出元素计数

collections.Counter() 返回的字典可以通过 most_common() 函数按照元素出现次数从大到小的顺序进行排序。

from collections import Counter

lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
count = Counter(lst)

for item, times in count.most_common():
    print(f"{item}: {times}")

运行这段代码会输出以下结果:

5: 3
3: 2
1: 2
2: 1
4: 1
9: 1
6: 1

这个结果表示,列表中出现次数最多的元素是 5,出现了 3 次,其次是 3,出现了 2 次,以此类推。

总结

collections.Counter() 函数提供了一个非常方便的方法来对元素进行计数,并输出元素计数结果。同时,通过调用 most_common() 函数,也可以让结果按照元素出现次数从大到小的顺序进行排序输出。这个函数常常用在数据分析、文本处理等领域中,是 Python 中非常有用的一个内置函数。