84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
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的频率?抱歉题目描述的不好
闭关修行中......
# code for python3 from itertools import groupby lst = [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
# coding: utf-8 lst = [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] += 1 print intervals
結果:
我回答過的問題: Python-QA