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()これで、Python2と同じ機能がPython3で提供xrangeされ、期待どおりに動作します。
>>> range(1,10,4)
range(1, 10, 4)
>>> range(1,10,2)
range(1, 10, 2)
>>>