python 统计列表元素出现的次数 并返回出现次数中间的值
可以使用Python内置的collections模块中的Counter类来统计列表元素出现的次数,然后再取出出现次数的中位数。
代码示例:
from collections import Counter
lst = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
counts = Counter(lst)
freq = counts.most_common()
# 计算出现次数的中位数
if len(freq) % 2 == 0:
median_freq = (freq[len(freq)//2-1][1] + freq[len(freq)//2][1]) / 2
else:
median_freq = freq[len(freq)//2][1]
print(median_freq)
输出结果为:
3.5
说明:上述代码中,Counter(lst)可以统计lst列表中各元素出现的次数,并生成一个字典对象。most_common()方法可以将字典对象按出现次数从多到少排序,并返回一个元素由元素值和出现次数组成的元组的列表。最后,根据列表长度的奇偶性来计算出现次数的中位数。
原文地址: https://www.cveoy.top/t/topic/KvS 著作权归作者所有。请勿转载和采集!