本文共 1221 字,大约阅读时间需要 4 分钟。
在python2中:
range()用来生成一个真实的列表,语法如下:
range(start,end,step)
start是起始值(包含start本身),默认值是0, end是终值(不包含end本身), step是步长,默认值是1,step取值不能为0 举例如下: >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> range(3,10) [3, 4, 5, 6, 7, 8, 9] >>> range(4,12,2) [4, 6, 8, 10]>>> for i in range(10):
... print i, ... 0 1 2 3 4 5 6 7 8 9>>> for i in range(10):
... print i ... 0 1 2 3 4 5 6 7 8 9python2中,range()与xrange()异同如下图:
显然,xrange()更节省内存,它的内存处理上效率更高,更适合处理大数据量。
xrange()举例如下:
>>> xrange(10)
xrange(10) >>> xrange(3,10) xrange(3, 10) >>> xrange(4,12,2) xrange(4, 12, 2) >>> for i in xrange(10): ... print i, ... 0 1 2 3 4 5 6 7 8 9 >>> for i in xrange(10): ... print i ... 0 1 2 3 4 5 6 7 8 9在python3中:
已经没有xrange()函数了,它使用的是range()函数,python3中range()函数与python2中的xrange()函数功能一致。
举例如下:
>>> xrange() Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> xrange() NameError: name 'xrange' is not defined >>> range(10) range(0, 10) >>> range(2,12,2) range(2, 12, 2) >>> for i in range(2,12,2): print (i) 2 4 6 8 10 >>> for i in range(2,12,2): print(i,end=' ') 2 4 6 8 10python2中range()函数,可产生一个列表,而在python3中,如何产生列表呢?在python3中,要获得一个真正的列表,需要显式调用,如下:
>>> range(10) range(0, 10) >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]