python range()和xrange()

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

总结:

  1. range()和xrange()在参数和用法上都相同。
  2. 但xrange不会直接生成一个list,而是每次调用返回其中的一个值,内存空间使用极少,因而性能非常好。
  3. Python 3.x已经去掉xrange,全部用range代替。

猜你喜欢

转载自blog.csdn.net/AIpush/article/details/82020388