Python将范围和数字列表组合

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))

我曾天真地以为会得到一个范围,但其他数字来自于一个切片列表。请问有人能帮我得到想要的结果吗?
1个回答

5
range()函数返回一个特殊的range对象,以节省内存(仅需保留起始、结束和步长即可,无需在内存中保存所有数字)。将其转换为列表以“展开”它:
list(yourrange) + otherlist

引用文档:

range类型相较于普通的listtuple的优势在于,range对象始终只占用同样少的内存,无论它所表示的范围大小(因为它只存储startstopstep值,并根据需要计算单个项和子范围)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接