one*_*ser 1 python arrays max python-3.x find-occurrences
我正在尝试获取数组中出现频率最高的两个元素的数量。例如,在列表['aa','bb','cc','dd','bb','bb','cc','ff']中,最频繁的应该是3('bb' 在数组中出现的次数)和第二个最频繁的2('cc' 在数组中出现的次数)。
我试过这个:
max = 0
snd_max = 0
for i in x:
aux=x.count(i)
if aux > max
snd_max=max
max=aux
print(max, snd_max)
Run Code Online (Sandbox Code Playgroud)
但我怀疑是否有更简单的方法?
您可以使用collections.Counter:
from collections import Counter
x = ['aa','bb','cc','dd','bb','bb','cc','ff']
counter = Counter(x)
print(counter.most_common(2))
Run Code Online (Sandbox Code Playgroud)
[('bb', 3), ('cc', 2)]
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |