Python list 按区间分组统计各组个数

一、需求

假设有个 list:

example_list = [95.0, 95.0, 97.0, 97.0, 97.0, 98.0, 99.0, 99.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 112.0, 112.0, 115.0, 117.0]

以 5 为间隔,求各个分组中的元素个数。
 

二、解决方法

使用 groupby() 函数

for k, g in groupby(sorted(example_list), key=lambda x: x//5):
    print('{}-{}: {}'.format(k*5, (k+1)*5-1, len(list(g))))

三、结果展示 

95.0-99.0: 8
100.0-104.0: 18
105.0-109.0: 16
110.0-114.0: 6
115.0-119.0: 2

 四、补充

有篇文章详细讲解了 groupby() 函数:

https://blog.csdn.net/qq_24753293/article/details/78338263

猜你喜欢

转载自blog.csdn.net/devil_son1234/article/details/107188714
今日推荐