나는 파이썬 2.x에서 range
의 단점을 알고있다. (큰 범위에서는 비효율적 인리스트를 만든다.) 더 빠른 iterator counterpart이다. xrange
. 그러나 Python 3.x에서는 range
이 반복자이고 xrange
은 삭제됩니다. 파이썬 2.x와 파이썬 3.x로 작성된이 두 개의 루프를 코드를 이식 할 수 있고 반복자를 사용할 수 있도록 작성하는 방법이 있습니까?파이썬 2.x와 파이썬 3.x를위한 portable, memory 효율적인 range()
# Python 2.x
for i in xrange(a_lot):
use_i_in_someway(i)
# Python 3.x
for i in range(a_lot):
use_i_in_someway(i)
나는 하나
if(platform.python_version_tuple()[0] == '3'):
xrange = range
처럼 뭔가를 할 수 있다는 것을 알고 있지만, 나는 덜 해킹 틱이 아니라 고객의 주문에 따라 만들 수있는 무언가를 생각했다.
관련 항목 : ['xrange (2 ** 100)'-> OverflowError : long int가 너무 커서 int로 변환 할 수 없습니다. (http://stackoverflow.com/questions/1482480/xrange2100-overflowerror-long-int-too -large-to-intre-to-int) – jfs