1. 程式人生 > >Python中range和xrange函式的區別

Python中range和xrange函式的區別

range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。

比如:

1>>> range(5)
2[01234]
3>>> range(1,5)
4[1234]
5>>> range(0,6,2)
6[024]

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

01>>> xrange(5)
02xrange(5)
03>>> list(xrange(5))
04[0123
4]
05>>> xrange(1,5)
06xrange(15)
07>>> list(xrange(1,5))
08[1234]
09>>> xrange(0,6,2)
10xrange(062)
11>>> list(xrange(0,6,2))
12[024]

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

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

1for in range(0100):
2print i
3
4for
 in xrange(0100):
5print i

這兩個輸出的結果都是一樣的,實際上有很多不同,range會直接生成一個list物件:

1= range(0,100)
2print type(a)

相關推薦

Pythonrangexrange函式區別

range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。比如:1>>> range(5)2[0, 1, 2, 3, 4]3>>> range(1,5)4[1, 2, 

Pythonrangexrange函式的異同

range    函式說明:range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。range示例:  >>> range(5)[0,1,2,3,4]>>> ran

python range()xrange()的區別

先看看在python 2.x中這兩個函式的區別: 先看函式range()的官方幫助文件: $ python Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37)  [GCC 4.4.7 20120313 (Red Hat 4.4.

Python range xrange的詳細區別

range    函式說明:range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。range示例:  >>> range(5)[0,1,2,3,4]>>> ran

pythonrangexrange的用法與區別

 range 函式說明:range(x,y,z),根據x與y的值指定的範圍以及z設定的步長,生成一個序列。 range示例: >>> range(5) #代表從0開始長度為5 [0, 1, 2, 3, 4] >>> range(1,5

Pythonrangexrange的異同之處

基本上 xrange class 依據 對象 lis tar 都是 post range 函數說明:range([start,] stop[, step])。依據start與stop指定的範圍以及step設定的步長,生成一個序列。 range演示樣例: &

Python2range xrange區別??

的區別 nbsp bsp 後者 內存空間 -s size span range 兩者用法相同,不同的是range返回的結果是一個列表,而xrange的結果是一個生成器, 前者是直接開辟一塊內存空間來保存列表,後者是邊循環邊使用,只有使用時才會開辟內存空間, 所以當列表很

pythonappendextend函式區別

append和extend都是python內建函式,都有擴充套件列表的元素功能,但兩者的擴充套件方式是不同的。 通過使用?list.append命令檢視append函式幫助文件 ?list.append Docstring: L.append(object) -> N

pythonrangexrange、arange的區別

1、range() range多用作迴圈,格式:range(start,end,step),返回的是一個range物件。例如: for i in range(10,20,2): print(i) 輸出: 10 12 14 16 18 如想返回一個list,

python rangexrange區別

如果需要迭代一個數字序列的話,可以使用range()函式,range()函式可以生成等差級數。 如例: for i in range(5) print(i) 這段程式碼將輸出0, 1, 2, 3, 4五個數字 range(10)會產生10個值, 也可以讓range()從另外一個

python-2 字串函式之三 isdigit() 、 isnumeric() 、isdecimal 區別 Python isdigit() isnumeric() 的區別

Python中 isdigit() 和 isnumeric() 的區別   num = "1" #unicodenum.isdigit() # Truenum.isdecimal() # Truenum.isn

python rangexrange函式

一些想法關於現行的圖書 每當讀這些書的時候總是發現很耽誤時間。這些書總是把理論先排列出來,讓你讀懂理論然後再去實踐。其實這是違背學習過程的,我們總是先學習怎麼做,然後再去學習理論。這樣效果才會更好,才能更好的理解。而現在的出書作者總是這樣違背學習規律,讓我很苦惱。所以,

Pythonsort()sorted()的區別

-s 可變對象 傳遞 內置函數 ict pan 16px nbsp lin 1、sort()是可變對象(字典)的方法,無參數,無返回值, sort()會改變可變對象,因此無需返回值。例如: list: 1 >>> a = [4,3,7,8] 2 >

pythonreturnprint的區別

bsp 不同 urn text 一是 什麽 cnblogs style c99 之前遇到這個問題,就試著對比幾種不同的結果,總結啦一下return和print的區別。 總結: return的作用之一是返回計算的值print的作用是輸出數據到控制端在第一個結果中什麽都沒

Python IteratorIterable的區別

pytho 數據 執行 next 判斷 -h 實現 col http (轉載:http://blog.csdn.net/passionkk/article/details/49929887) Python中 list,truple,str,dict這些都可以被叠代,但他們並

python%r%s的區別

ould mat mark post inf info repr pan formatter %r用rper()方法處理對象 %s用str()方法處理對象 有些情況下,兩者處理的結果是一樣的,比如說處理int型對象。 例一: print "I am %d years o

Python copydeepcopy的區別

deepcopy 改變 般的 blog 等於 div copy clas 但是 import copy 假設在python中對list的復制 copy稱為淺復制 deepcopy稱為深復制 淺復制和深復制在一般的list中作用是相同的,都是進行一個復制 但是在list嵌套l

Pythonrangexrange

比較 數組 內存空間 設定 start 步長 range stop 而是 range 函數說明:range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。 range示例: >>>

python ifelif的區別

pre else bsp 判斷 nbsp 優秀 自動 滿足 lse 如果程序中判斷事件很多,全部用if的話,會遍歷整個程序,用elif 程序運行時,只要if或後續某一個elif之一滿足邏輯值為True,則程序執行完對應輸出語句後自動結束該輪if-elif(即不會再去冗余地執

python的 == is 的區別

-s 對比 不能 -- 其他 ont clas 通過 數字 == 比較的是兩邊的值 is 比較的是兩邊的內存地址 通過 id()獲取內存地址 小數據池:我們使用過的值存儲在小數據池中,供其他數據使用.   小數據池僅限於 數字 和 字符串:     數字的小數池範圍 -