84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
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)
Résultat :
{'91-100': 5, '1-10': 19}
Questions auxquelles j'ai répondu : 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
Résultat :
Questions auxquelles j'ai répondu : Python-QA