python中range和xrange的异同
其中,range直接返回的是個(gè)list,而xrange返回的是一個(gè)生成器。根據(jù)文檔所說,xrange更快一點(diǎn),而且更省內(nèi)存。
文檔如下:
>>> help(range)
Help on built-in function range in module __builtin__:
range(...)
? ? range([start,] stop[, step]) -> list of integers
? ??
? ? Return a list containing an arithmetic progression of integers.
? ? range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
? ? When step is given, it specifies the increment (or decrement).
? ? For example, range(4) returns [0, 1, 2, 3]. ?The end point is omitted!
? ? These are exactly the valid indices for a list of 4 elements.
>>> help(xrange)
Help on class xrange in module __builtin__:
class xrange(object)
?| ?xrange([start,] stop[, step]) -> xrange object
?| ?
?| ?Like range(), but instead of returning a list, returns an object that
?| ?generates the numbers in the range on demand. ?For looping, this is?
?| ?slightly faster than range() and more memory efficient.
?| ?
?| ?Methods defined here:
?| ?
?| ?__getattribute__(...)
?| ? ? ?x.__getattribute__('name') <==> x.name
?| ?
?| ?__getitem__(...)
?| ? ? ?x.__getitem__(y) <==> x[y]
?| ?
?| ?__iter__(...)
?| ? ? ?x.__iter__() <==> iter(x)
?| ?
?| ?__len__(...)
?| ? ? ?x.__len__() <==> len(x)
?| ?
?| ?__reduce__(...)
?| ?
?| ?__repr__(...)
?| ? ? ?x.__repr__() <==> repr(x)
?| ?
?| ?__reversed__(...)
?| ? ? ?Returns a reverse iterator.
?| ?
?| ?----------------------------------------------------------------------
?| ?Data and other attributes defined here:
?| ?
?| ?__new__ = <built-in method __new__ of type object>
?| ? ? ?T.__new__(S, ...) -> a new object with type S, a subtype of T
總結(jié)
以上是生活随笔為你收集整理的python中range和xrange的异同的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hiring data scientis
- 下一篇: python字符编码导致dict中key