Python range和xrange的區別和聯系
來自: http://blog.csdn.net//never_cxb/article/details/49962175
Python range和xrange的區別和聯系
一言以蔽之
range產生的是一個列表,而xrange產生的是一個類似迭代器的。
所以對于較大的集合時候,xrange比range性能好。
因為range一次把所以數據都返回,而xrange每次調用返回其中的一個值
</blockquote>
代碼驗證
print range(1,10) print xrange(1,10) print list(xrange(1,10))輸出
[1, 2, 3, 4, 5, 6, 7, 8, 9] xrange(1, 10) [1, 2, 3, 4, 5, 6, 7, 8, 9]
看下range和xrange的類型信息
print type(range(1,10)) print type(xrange(1,10))輸出
<type 'list'> <type 'xrange'>統計程序運行時間
import timesum1 = 0 start1 = time.clock() for i in range(1,1000000): sum1 += i end1 = time.clock() print end1 - start1 print sum1
sum2 = 0 start2 = time.clock() for i in xrange(1,1000000): sum2 += i end2 = time.clock() print end2 - start2 print sum2</pre>
輸出
0.292618551173 499999500000 0.249540776676 499999500000可以看出xrange運行時間要小于range,數據量越大時,兩者差別越明顯。
老婆大人管錢管得緊,如果文章對您有幫助,煩請支持-=-
</div>
本文由用戶 nevz7110 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!