3
range(5, 15) [1, 1, 5, 6, 10, 10, 10, 11, 17, 28]
range(6, 24) [4, 10, 10, 10, 15, 16, 18, 20, 24, 30]
range(7, 41) [9, 18, 19, 23, 23, 26, 28, 40, 42, 44]
range(11, 49) [9, 23, 24, 27, 29, 31, 43, 44, 45, 45]
range(38, 50) [1, 40, 41, 42, 44, 48, 49, 49, 49, 50]

我从函数的打印命令中得到上述输出。我真正想要的是范围的组合列表,例如在顶行 5,6,7...15,1,1,5,6 等。输出范围来自

range_draws=range(int(lower),int(upper))

我天真地认为这会给出一个范围。其他数字来自切片列表。

有人可以帮我得到想要的结果。

4

1 回答 1

5

range()函数返回一个特殊的范围对象以保存在内存中(当只需要开始、结束和步长时,无需将所有数字保存在内存中)。将其转换为列表以“扩展”它:

list(yourrange) + otherlist

引用文档:

range与常规list或类型相比,该类型的优点tuplerange对象将始终占用相同(少量)的内存,无论它表示的范围大小如何(因为它只存储start,stopstep值,将单个项目和子范围计算为需要)。

于 2013-01-25T10:07:41.470 回答