2013-01-25 74 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值,根據需要計算單個項目和子範圍)。