xrange 和 range的區別
a)xrange 生成的是乙個生成器,range生成的是乙個list物件
b)要生成很大的數字序列的時候,使用xrange會比使用range效能更優
range([start], [end], [long])
描述:根據range裡的引數生成指定範圍指定步長的乙個序列
引數:[start]——指定範圍的左邊界,可取到
[end]——指定範圍的右邊界,不可取到
[long]——步長,若無步長,預設為1
返回值:
列表例項:
>>>range(0, 6, 2)
[0,2,4]
>>>range(5)
[0, 1, 2, 3, 4]12
345xrange()
描述:用法與range完全相同,生成的不是陣列,而是乙個生成器
例項:>>>xrange(0, 6, 2)
xrange(0, 6, 2)
>>>xrange(5)
xrange(5)12
345區別:
1、要生成很大的數字序列的時候,用xrange會比range效能優很多,不需要一上來就占用一塊很大的記憶體空間;
2、range會直接生成乙個list物件;xrange則不會直接生成乙個list,而是每次呼叫返回其中的乙個值
range()的風險
在python2中,range產生的是乙個列表,如果range產生的列表需要乙個很大的空間,系統會直接出現異常memoryerror;若未丟擲異常,如此時range一直未被使用,就會一直占用系統記憶體,導致記憶體浪費。
在python3中,range不會立馬占用記憶體空間,而是什麼時候使用,什麼時候才會生成列表。
python中range 和 xrange的區別
range 函式說明 range start,stop step 根據start與stop指定的範圍以及step設定的步長,生成乙個序列。range示例 range 5 0,1,2,3,4 range 1,5 1,2,3,4 range 0,6,2 0,2,4 xrange 函式說明 用法與rang...
python中xrange和range的異同
range 函式說明 range start,stop step 根據start與stop指定的範圍以及step設定的步長,生成乙個序列。range示例 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 ...
python中xrange和range的異同
range 函式說明 range start,stop step 根據start與stop指定的範圍以及step設定的步長,生成乙個序列。range示例 range 5 0,1,2,3,4 range 1 5 1,2,3,4 range 0 6,2 0,2,4 xrange 函式說明 用法與rang...