python中怎么对列表以区间进行统计?
问题描述
python中怎么对列表以区间进行统计?假设list=[1,1,1,2,3,4,4,5,5,6,7,7,7,7,8,9,9,9,10……99,99,99,100,100]
怎么写程序可以以10为一个区间分别统计,如统计出小于10的数字频率,大于10小于20的频率,大于20小于30的频率……大于90小于100的频率?抱歉题目描述的不好
问题解答
回答1:# code for python3from itertools import groupbylst = [1, 1, 1, 2, 3, 4, 4, 5, 5, 6, 7, 7, 7, 7, 8, 9, 9, 9, 10, 99, 99, 99, 100, 100]dic = {}for k, g in groupby(lst, key=lambda x: (x-1)//10): dic[’{}-{}’.format(k*10+1, (k+1)*10)] = len(list(g)) print(dic)
結果:
{’91-100’: 5, ’1-10’: 19}
我回答過的問題: Python-QA
回答2:# coding: utf-8lst = [1, 1, 1, 2, 3, 4, 4, 5, 5, 6, 7, 7, 7, 7, 8, 9, 9, 9, 10, 99, 99, 99, 100, 100]intervals = {’{0}-{1}’.format(10 * x + 1, 10 * (x + 1)): 0 for x in range(10)}for _ in lst: for interval in intervals:start, end = tuple(interval.split(’-’))if int(start) <= _ <= int(end): intervals[interval] += 1print intervals
相关文章:
1. javascript - vue报错,昨天也是这么写的也没报错呀,今天就报错了,不知原因。求解决2. html - jQuery 移动端横向滚动会带动网页上下滑动怎么办?3. 最新版的phpstudy的mysql版本只是5.5,有没有5.6或者5.7版本的集成版呀?4. css - 这个线怎么做,效果是竖直的效果,5. javascript - 关于微信公众号开发的一个trouble!6. html - 谁能推荐一个类似apple官网的模板,用来展示产品的?7. javascript - 这两种JS写法有什么区别8. css - font-face引入的新字体无法在火狐浏览器上显示?但是谷歌可以?9. css3 - transition transform初始display:block怎么就没移动效果?10. javascript - vue el 重复挂载 同一个实例