本文主要是介绍python range()和xrange(),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在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
9
python2中,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 10
python2中range()函数,可产生一个列表,而在python3中,如何产生列表呢?在python3中,要获得一个真正的列表,需要显式调用,如下:
>>> range(10)
range(0, 10)
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
这篇关于python range()和xrange()的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!