PHPz2017-04-17 13:38:06
樓上都是說xrange優點,我補充下缺點
1. python3沒有xrange,如果python2遷移到3、或要同時在2/3跑程序,就要注意。
2. xrange不支援切片,這個用起來可能不是很爽。
個人覺得,如果資料量不大,還是用range,如果資料大且是版本2才考慮用xrange。
ps:兩個都去了解,然後選擇最適合自己需求的~~這個真的沒有絕對~~
黄舟2017-04-17 13:38:06
range(start, end, step) 會產生一個列表 [start, start+step, start+2*step, ..., end]
如果start與end的相差很大,那麼產生列表的時間會很長,而且資料量很大,佔記憶體,生成之後,再迭代。
xrange(start, end, step) 則不會產生一個列表,迭代一次產生一個數,不會有記憶體方面影響。
阿神2017-04-17 13:38:06
可以Google range()和xrange()的實作區別.
如果range的數不大,使用range(); 反之xrange(). 至於數多大算大,我跟感覺走
Python3.x中已經只有range()了,但是對於Python的版本問題以及維護問題,你懂的.