小编典典

如何计算无序列表中元素的频率?

all

我需要在 无序 列表中找到元素的频率

a = [1,1,1,1,2,2,2,2,3,3,4,5,5]

输出->

b = [4,4,2,1,2]

我也想从

a = [1,2,3,4,5]

阅读 116

收藏
2022-05-07

共1个答案

小编典典

注意:您应该在使用之前对列表进行排序groupby

如果列表是有序列表,您可以使用groupbyfrom package。itertools

a = [1,1,1,1,2,2,2,2,3,3,4,5,5]
from itertools import groupby
[len(list(group)) for key, group in groupby(a)]

输出:

[4, 4, 2, 1, 2]

更新 :请注意,排序需要 O(n log(n)) 时间。

2022-05-07