2013-01-25 51 views
1
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等 输出范围来自python结合范围和数字列表

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

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

有人可以帮助我获得理想的结果。

回答

4

range()函数返回一个特殊的range object以节省内存(当只有开始,结束和步长时,不需要保存所有数字)。它转换为一个列表,以“扩大”吧:

list(yourrange) + otherlist 

引述文件:

range型比普通listtuple的优点是range对象将始终以相同(小)的内存量,而不管它所代表的范围的大小(因为它仅存储start,stopstep值,根据需要计算单个项目和子范围)。