为了账号安全,请及时绑定邮箱和手机立即绑定

Python 如何统计大数据量的 嵌套列表的区间中各点的覆盖次数?

Python 如何统计大数据量的 嵌套列表的区间中各点的覆盖次数?

猛跑小猪 2018-10-23 10:42:01
[[15, 65], [30, 80], [36, 86], [45, 95], [45, 95]] 一个大列表中嵌套了好多小列表,如何统计区间内的每个点被覆盖了几次呢? 比如如果只看 [15, 65], [30, 80]这两个,30-65 这些点就被覆盖了两次因为数据量很大,所以不能用两层循环。那么有什么方法呢?先行谢过~
查看完整描述

1 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

Python3

>>> from collections import Counter>>> ls=[[15, 65], [30, 80], [36, 86], [45, 95], [45, 95]]>>> c=Counter()>>> for l in ls:
    c.update(range(*l))    
>>> c
Counter({45: 5, 46: 5, 47: 5, 48: 5, 49: 5, 50: 5, 51: 5, 52: 5, 53: 5, 54: 5, 55: 5, 56: 5, 57: 5, 58: 5, 59: 5, 60: 5, 61: 5, 62: 5, 63: 5, 64: 5, 65: 4, 66: 4, 67: 4, 68: 4, 69: 4, 70: 4, 71: 4, 72: 4, 73: 4, 74: 4, 75: 4, 76: 4, 77: 4, 78: 4, 79: 4, 36: 3, 37: 3, 38: 3, 39: 3, 40: 3, 41: 3, 42: 3, 43: 3, 44: 3, 80: 3, 81: 3, 82: 3, 83: 3, 84: 3, 85: 3, 30: 2, 31: 2, 32: 2, 33: 2, 34: 2, 35: 2, 86: 2, 87: 2, 88: 2, 89: 2, 90: 2, 91: 2, 92: 2, 93: 2, 94: 2, 15: 1, 16: 1, 17: 1, 18: 1, 19: 1, 20: 1, 21: 1, 22: 1, 23: 1, 24: 1, 25: 1, 26: 1, 27: 1, 28: 1, 29: 1})>>>


查看完整回答
反对 回复 2018-10-23
  • 1 回答
  • 0 关注
  • 1214 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信