python中range和xrange的區別

在python中range返回的是一個包含所有元素的列表,xrange返回的是一個生成器,生成器是一個可迭代對象,在對生成器進行迭代時,元素是逐個被創建的。一般來看,在對大序列進行迭代的時候,因爲xrange的特性,所以它會比較節約內存,比較高效。
首先我們來看看range的特性:

>>>range(9)
>>>[0, 1, 2, 3, 4, 5, 6, 7, 8]

>>>type(range(9))
>>>type('list')

>>>for i in range(1,10,2):
....print i
1
3
5
7
9
xrange的特性:

>>>xrange(9)
xrange(9)

>>>type(range(9))
type('xrange')

>>>for i in xrange(1,10,2):
....print i
1
3
5
7
9

兩者之間當需要生成列表時,使用range。其他情況,建議使用xrange。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章