for循环方式完成列表分区间统计效果报错,求解,for分区,list= [ .
for循环方式完成列表分区间统计效果报错,求解,for分区,list= [ .
list= [ ..., 2648, 2648, 2648, 63370, 63370, 425, 425, 120, 120, 217, 217, 189, 189, 128, 128, 115, 115, 197, 19752, 152, 152, 275, 275, 1716, 1716, 131, 131, 98, 98, 138, 138, 277, 277, 849, 302, 152, 1571, 68, 68, 102, 102, 92, 92, 146, 146, 155, 155, 9181, 9181, 474, 449, 98, 98, 59, 59, 295, 101, ...]for i in list: if int(i/50)+1 not in dic: dic(int(i /50)+1)=list.count(i) else: dic(int(i /50)+1)+=list.count(i)
我这么写总是报错,我想以 50bp 为一个区间进行统计,即统计长度在 0-50 的频数,50-100 的频数...
我这么写对么,应该怎么写呢?
# code for python3from itertools import groupbylst= [ 2648, 2648, 2648, 63370, 63370, 425, 425, 120, 120, 217, 217, 189, 189, 128, 128, 115, 115, 197, 19752, 152, 152, 275, 275, 1716, 1716, 131, 131, 98, 98, 138, 138, 277, 277, 849, 302, 152, 1571, 68, 68, 102, 102, 92, 92, 146, 146, 155, 155, 9181, 9181, 474, 449, 98, 98, 59, 59, 295, 101, 5]for k, g in groupby(sorted(lst), key=lambda x: x//50): print('{}-{}: {}'.format(k*50, (k+1)*50-1, len(list(g))))
結果:
0-49: 150-99: 10100-149: 15150-199: 8200-249: 2250-299: 5300-349: 1400-449: 3450-499: 1800-849: 11550-1599: 11700-1749: 22600-2649: 39150-9199: 219750-19799: 163350-63399: 2
我回答過的問題: Python-QA
for i in list i是list中的内容,应该是for I in range(len(list))
编橙之家文章,
相关内容
- 网页编码gb2312和gbk的pyquery中文乱码问题,gb2312pyquery,生
- Python测试HTTP客户端程序实例怎么写,python客户端程序
- errorclass errorvalue是什么情况,mysqldb连接mysql时的报错信息
- 编译安装Python 2.7.6版本后,上下左右退格就变成乱码如何
- Python语言能获取到APP中的data吗?要怎么写这个源码,
- 有API可以获取facebook专页时间线的数据吗,facebook专页
- SQL里面一个表的转换问题,SQL转换问题,表结构如下:
- 求Python可以用的单元测试框架,python单元测试框架,Ja
- Python文件存储服务器IOError: [Errno 32] Broken pipe错误,,#
- Python计算斐波那契数列用lambda方法与def实现效率哪个高
评论关闭