Python统计数据的区间分布

通过itertools中的groupby进行统计,区间可以自定义,我定义的是10.

from itertools import groupby


lst=[]
with open(path,'r',encoding='utf-8') as f:
    lines=f.readlines()
    for i,line in enumerate(lines):
        cnt=int(line.strip())
        lst.append(cnt)
print(len(lst))
for k,g in groupby(sorted(lst),key=lambda x:x//10):
    print('{}-{}:{}'.format(k*10,(k+1)*10-1,len(list(g))))

注意:

1、list定义,不能与内置的函数list重名;

2、字典取值用mydit['key']而不是mydict('key')

你可能感兴趣的:(Python统计数据的区间分布)