Python中range和xrange函式的區別
range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。
比如:
1 | >>> range ( 5 ) |
2 | [ 0 , 1 , 2 , 3 , 4 ] |
3 | >>> range ( 1 , 5 ) |
4 | [ 1 , 2 , 3 , 4 ] |
5 | >>> range ( 0 , 6 , 2 ) |
6 | [ 0 , 2 , 4 ] |
xrange 用法與 range 完全相同,所不同的是生成的不是一個list物件,而是一個生成器。
01 | >>> xrange ( 5 ) |
02 | xrange ( 5 ) |
03 | >>> list ( xrange ( 5 )) |
04 | [ 0 , 1 , 2 , 3 , 4 ] |
05 | >>> xrange ( 1 , 5 ) |
06 | xrange ( 1 , 5 ) |
07 | >>> list ( xrange ( 1 , 5 )) |
08 | [ 1 , 2 , 3 , 4 ] |
09 | >>> xrange ( 0 , 6 , 2 ) |
10 | xrange ( 0 , 6 , 2 ) |
11 | >>> list ( xrange ( 0 , 6 , 2 )) |
12 | [ 0 , 2 , 4 ] |
由上面的示例可以知道:要生成很大的數字序列的時候,用xrange會比range效能優很多,因為不需要一上來就開闢一塊很大的記憶體空間。
xrange 和 range 這兩個基本上都是在迴圈的時候用。
1 | for i in range ( 0 , 100 ): |
2 | print i |
3 |
4 | for i in xrange ( 0 , 100 ): |
5 | print i |
這兩個輸出的結果都是一樣的,實際上有很多不同,range會直接生成一個list物件:
1 | a = range ( 0 , 100 ) |
2 | print type (a) |
相關推薦Python中range和xrange函式的區別range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。比如:1>>> range(5)2[0, 1, 2, 3, 4]3>>> range(1,5)4[1, 2, Python中range和xrange函式的異同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 python中range和xrange的用法與區別 range 函式說明:range(x,y,z),根據x與y的值指定的範圍以及z設定的步長,生成一個序列。 range示例: >>> range(5) #代表從0開始長度為5 [0, 1, 2, 3, 4] >>> range(1,5 Python中range和xrange的異同之處基本上 xrange class 依據 對象 lis tar 都是 post range 函數說明:range([start,] stop[, step])。依據start與stop指定的範圍以及step設定的步長,生成一個序列。 range演示樣例: & Python2中range 和xrange的區別??的區別 nbsp bsp 後者 內存空間 -s size span range 兩者用法相同,不同的是range返回的結果是一個列表,而xrange的結果是一個生成器, 前者是直接開辟一塊內存空間來保存列表,後者是邊循環邊使用,只有使用時才會開辟內存空間, 所以當列表很 python中append和extend函式區別append和extend都是python內建函式,都有擴充套件列表的元素功能,但兩者的擴充套件方式是不同的。 通過使用?list.append命令檢視append函式幫助文件 ?list.append Docstring: L.append(object) -> N python中range、xrange、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 range和xrange的區別如果需要迭代一個數字序列的話,可以使用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 range和xrange函式一些想法關於現行的圖書 每當讀這些書的時候總是發現很耽誤時間。這些書總是把理論先排列出來,讓你讀懂理論然後再去實踐。其實這是違背學習過程的,我們總是先學習怎麼做,然後再去學習理論。這樣效果才會更好,才能更好的理解。而現在的出書作者總是這樣違背學習規律,讓我很苦惱。所以, Python中sort()和sorted()的區別-s 可變對象 傳遞 內置函數 ict pan 16px nbsp lin 1、sort()是可變對象(字典)的方法,無參數,無返回值, sort()會改變可變對象,因此無需返回值。例如: list: 1 >>> a = [4,3,7,8] 2 > python中return和print的區別bsp 不同 urn text 一是 什麽 cnblogs style c99 之前遇到這個問題,就試著對比幾種不同的結果,總結啦一下return和print的區別。 總結: return的作用之一是返回計算的值print的作用是輸出數據到控制端在第一個結果中什麽都沒 Python 中 Iterator和Iterable的區別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 中copy和deepcopy的區別deepcopy 改變 般的 blog 等於 div copy clas 但是 import copy 假設在python中對list的復制 copy稱為淺復制 deepcopy稱為深復制 淺復制和深復制在一般的list中作用是相同的,都是進行一個復制 但是在list嵌套l Python的range和xrange比較 數組 內存空間 設定 start 步長 range stop 而是 range 函數說明:range([start,] stop[, step]),根據start與stop指定的範圍以及step設定的步長,生成一個序列。 range示例: >>> python 中if和elif的區別pre else bsp 判斷 nbsp 優秀 自動 滿足 lse 如果程序中判斷事件很多,全部用if的話,會遍歷整個程序,用elif 程序運行時,只要if或後續某一個elif之一滿足邏輯值為True,則程序執行完對應輸出語句後自動結束該輪if-elif(即不會再去冗余地執 python中的 == 和 is 的區別-s 對比 不能 -- 其他 ont clas 通過 數字 == 比較的是兩邊的值 is 比較的是兩邊的內存地址 通過 id()獲取內存地址 小數據池:我們使用過的值存儲在小數據池中,供其他數據使用. 小數據池僅限於 數字 和 字符串: 數字的小數池範圍 - |