可以使用Python中的collections模块中的Counter类来统计列表元素出现的次数,然后再找出出现最少的和最大的值。

示例代码如下:

from collections import Counter

def count_elements(lst):
    # 统计每个元素出现的次数
    counter = Counter(lst)
    # 找出出现最少的和最大的值
    min_count = min(counter.values())
    max_count = max(counter.values())
    # 找出出现次数为中间值的元素
    middle = sorted(counter.items(), key=lambda x: x[1])[len(counter)//2][0]
    return min_count, max_count, middle

lst = [1, 2, 3, 4, 2, 3, 1, 1, 4, 4, 4]
min_count, max_count, middle = count_elements(lst)
print("出现最少的值:", [k for k, v in Counter(lst).items() if v == min_count])
print("出现最多的值:", [k for k, v in Counter(lst).items() if v == max_count])
print("出现次数为中间值的值:", middle)

输出结果为:

出现最少的值: [2, 3]
出现最多的值: [4]
出现次数为中间值的值: 4
python 统计列表元素出现的次数 并返回出现最少的和最大的值 还有中间的

原文地址: https://www.cveoy.top/t/topic/Kv0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录