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. mysql - 這條聯合sql語句哪里錯了2. webpack - vuejs+java前后臺分離實現及部署問題3. docker start -a dockername 老是卡住,什么情況?4. docker容器呢SSH為什么連不通呢?5. docker鏡像push報錯6. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題7. docker網絡端口映射,沒有方便點的操作方法么?8. docker安裝后出現Cannot connect to the Docker daemon.9. javascript - web移動端 ? 版權這個字在安卓上默認藍色顏色 怎么解決?10. vue ajax請求回來的數據沒有渲染到頁面
