Python xrange 和range的區別

2021-09-24 21:37:21 字數 702 閱讀 3254

range(1000)會返回乙個長度為1000的陣列,

而xrange(1000)會返回乙個生成器,在需要的情況下返回乙個數字,此時空間的占用情況會大為減少。

所以為了提公升效能,在做迴圈的時候,應該盡可能的使用xrange,除非需要用range返回乙個陣列。

in [9]: xrange(5)

out[9]: xrange(5)

in [10]: range(5)

out[10]: [0, 1, 2, 3, 4]

in [11]: list(xrange(5))

out[11]: [0, 1, 2, 3, 4]

in [12]: print type(xrange(4))

in [13]: print type(range(4))

在使用python3時,發現以前經常用的xrange沒有了,python3的range就是xrange。

python2中,

>>> type(range(10))

可以發現,python2中range的返回值是list,這意味著記憶體將會分布相應的長度的空間給list。

python3中,

>>> type(range(10))

python3中返回的是乙個range物件,並沒有將資料完全例項化,所以記憶體中只有乙個物件的空間。

Python xrange與range的區別

range 前面小節已經說明了,range start,stop step 根據start與stop指定的範圍以及step設定的步長,生成乙個序列。比如 range 5 0,1,2,3,4 range 1,5 1,2,3,4 range 0,6,2 0,2,4 xrange 用法與 range 完全...

Python xrange與range的區別

xrange 與 range xrange 用法與 range 完全相同,所不同的是生成的不是乙個list物件,而是乙個生成器。要生成很大的數字序列的時候,用xrange會比range效能優很多,因為不需要一上來就開闢一塊很大的記憶體空間。xrange 和 range 這兩個基本上都是在迴圈的時候用...

RA8889與RA8876在硬體SPI的不同

以8pin flash來說,ra8876將wp和hold腳直接拉高 而ra8889將wp和hold腳拉高的同時接入ra8889,當模式選擇為select sfi quad mode dummy 8t 6bh 模式時,wp和hold引腳將作為資料傳輸引腳傳輸資料 而24位或32位定址模式的選擇取決於f...