Python xrange與range的區別

2021-08-13 19:40:38 字數 941 閱讀 5232

xrange 與 range

xrange 用法與 range 完全相同,所不同的是生成的不是乙個list物件,而是乙個生成器。

要生成很大的數字序列的時候,用xrange會比range效能優很多,因為不需要一上來就開闢一塊很大的記憶體空間。

xrange 和 range 這兩個基本上都是在迴圈的時候用。

for i in range(0, 100):

print i

for i in xrange(0, 100):

print i

range會直接生成乙個list物件,而xrange則不會直接生成乙個list,而是每次呼叫返回其中的乙個值.

所以xrange做迴圈的效能比range好,尤其是返回很大的時候。盡量用xrange吧,除非你是要返回乙個列表。

python3中的 range

range()是python的內建函式,用於建立整數的列表,可以生成遞增或者遞減的數列。range也是python的內建函式,用於創造xrange物件用於迭代。

在python3中,range()這種實現被移除了,保留了xrange()的實現,且將xrange()重新命名成range()。

在python3中,range object在python裡增加了attributes,』count』,』index』,』start』,』step』,』stop』,且能支援slicing。python3的range()在xrange()的基礎上變的更強大了

參考文獻

python xrange與range的區別

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 完全...

RA8889與RA8876在硬體SPI的不同

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

SQL Server視窗函式 ROWS與RANGE

幾乎每次我展示sql server裡的視窗時,人們都非常有興趣知道,當你定義你的視窗 指定的一組行 時,rows 與range 選項之間的區別。因此在今天的文章裡我想給你展示下這些選項的區別,對於你的分析計算意味著什麼。當你用over 子句進行你的分析計算來開啟你的視窗,你也可以在視窗裡看到的,通過...