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]
我从一个函数的打印命令中得到上面的outpout。我真正想要的是范围的组合列表,例如在顶线5,6,7 ... 15,1,1,5,6等。 输出范围来自
range_draws=range(int(lower),int(upper))
我天真地认为会给出一个范围。其他数字来自切片列表。
有人可以帮助我获得理想的结果。
答案 0 :(得分:4)
range()
函数返回一个特殊的range object以保存在内存中(当只有开始,结束和步长时,不需要将所有数字保留在内存中)。将其投射到列表中以“展开”它:
list(yourrange) + otherlist
引用文档:
range
类型相对于常规list
或tuple
的优势在于,range
对象始终会占用相同(较小)的内存量,无论它所代表的范围的大小(因为它只存储start
,stop
和step
值,根据需要计算单个项目和子范围。“