range(start, stop[, step])
参数说明:
- start: 计数从 start 开始(默认从 0 开始)。
- stop: 计数到 stop 结束(不包括 stop)。
- step:步长,默认为1(可以为负数,倒叙)。
xrange(start, stop[, step])
参数说明:
- 与rang()完全相同
区别:
range()返回的是列表
xrange()返回的是生成器
代码示例:
>>> range(8)
[0, 1, 2, 3, 4, 5, 6, 7]
>>> xrange(8)
xrange(8)
>>> range(3,5)
[3, 4]
>>> xrange(3,5)
xrange(3,5)
>>> list(xrange(3,5))
[3, 4]
>>> for i in range(4):
... print i
...
0
1
2
3
>>> for i in xrange(4):
... print i
...
0
1
2
3
总结:
- range()和xrange()在参数和用法上都相同。
- 但xrange不会直接生成一个list,而是每次调用返回其中的一个值,内存空间使用极少,因而性能非常好。
- Python 3.x已经去掉xrange,全部用range代替。