python中怎么對(duì)列表以區(qū)間進(jìn)行統(tǒng)計(jì)?
問(wèn)題描述
python中怎么對(duì)列表以區(qū)間進(jìn)行統(tǒng)計(jì)?假設(shè)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為一個(gè)區(qū)間分別統(tǒng)計(jì),如統(tǒng)計(jì)出小于10的數(shù)字頻率,大于10小于20的頻率,大于20小于30的頻率……大于90小于100的頻率?抱歉題目描述的不好
問(wèn)題解答
回答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)
結(jié)果:
{’91-100’: 5, ’1-10’: 19}
我回答過(guò)的問(wèn)題: 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
相關(guān)文章:
1. 數(shù)據(jù)庫(kù) - mysql如何處理數(shù)據(jù)變化中的事務(wù)?2. 網(wǎng)絡(luò)傳輸協(xié)議 - 以下三種下載方式有什么不同?如何用python模擬下載器下載?3. angular.js - Angular路由和express路由的組合使用問(wèn)題4. 如何修改phpstudy的phpmyadmin放到其他地方5. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?6. 表單提交驗(yàn)證,沒(méi)反應(yīng),求老師指點(diǎn)7. 我的html頁(yè)面一提交,網(wǎng)頁(yè)便顯示出了我的php代碼,求問(wèn)是什么原因?8. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境9. tp6表單令牌10. javascript - canvas 可以實(shí)現(xiàn) PS 魔法橡皮擦的功能嗎?
