【发布时间】:2018-02-07 21:24:42
【问题描述】:
我正在尝试检索列表中出现频率最高和频率较低的元素。
frequency([13,12,11,13,14,13,7,11,13,14,12,14,14])
我的输出是:
([7], [13, 14])
我试过了:
import collections
s = [13,12,11,13,14,13,7,11,13,14,12,14,14]
count = collections.Counter(s)
mins = [a for a, b in count.items() if b == min(count.values())]
maxes = [a for a, b in count.items() if b == max(count.values())]
final_vals = [mins, maxes]
但我不想使用collections 模块并尝试更面向逻辑的解决方案。
你能帮我在没有收藏的情况下做吗?
【问题讨论】:
-
对于“最大出现元素”(又名。mode),看看这个问题:Finding the mode of a list。