我熟悉 和 之间的range()
区别xrange()
。我注意到一些奇怪的东西xrange()
:
>>> xrange(1,10,2)
xrange(1, 11, 2)
>>> xrange(1,10,4)
xrange(1, 13, 4)
从功能上讲,它是正确的:
>>> for item in xrange(1,10,4):
... print item
...
1
5
9
>>>
但是,如您所见,返回xrange
对象中的停止值是最后一个合法值之后的下一个较高值。有什么理由吗?
range()
它现在在 Python 3 中提供与 Python 2 中相同的功能,xrange
其行为符合预期:
>>> range(1,10,4)
range(1, 10, 4)
>>> range(1,10,2)
range(1, 10, 2)
>>>