range()
과 xrange()
의 차이점을 잘 알고 있습니다. 마지막 한 후, 다음으로 높은 값을 반환 xrange
객체의 정지 값입니다 볼 수있는, 그러나Python 2의 이상한 xrange() 동작
>>> for item in xrange(1,10,4):
... print item
...
1
5
9
>>>
:
>>> xrange(1,10,2)
xrange(1, 11, 2)
>>> xrange(1,10,4)
xrange(1, 13, 4)
기능적으로,이 올바른지 : 나는 xrange()
에 뭔가 이상한 발견 법적 가치. 이유가 뭐야? 이제 파이썬이 동작합니다에 xrange
파이썬 3에서와 동일한 기능을 제공
range()
예상대로 :
>>> range(1,10,4)
range(1, 10, 4)
>>> range(1,10,2)
range(1, 10, 2)
>>>
아니오 'xrange()는'범위() '과 동일하지'파이썬 3에서 후자는 새로운 유형. 최종 값은'range()'또는'xrange()'에 포함되지 않습니다. 'step' 값 때문에'11'이나'10'도 범위 출력에 포함되지 않습니다. –
@MartijnPieters 나는 의견의 전반부에 동의합니다. 내 질문을 수정했습니다. –
@MartijnPieters 지금은 결코 포함되지 않은 정지 값과 관련하여 예, 알고 있습니다. xrange 객체가 마지막 합법적 인 값 + 정지 값으로 정지 값과 함께 반환되는 이유는 무엇입니까? –