파이썬 2.7과 파이썬 3에서 range
함수의 주요 차이점은 다음과 같습니다:
파이썬 2.7
range
:
range
함수는 지정된 시작점과 끝점 사이의 모든 정수를 포함하는 리스트를 반환합니다.
- 예:
range(0, 5)
는 [0, 1, 2, 3, 4]
라는 리스트를 생성합니다.
- 큰 범위를 다룰 때 메모리 사용량이 많아질 수 있습니다, 왜냐하면 모든 숫자가 메모리에 리스트 형태로 저장되기 때문입니다.
xrange
:
- 파이썬 2.7에는
xrange
라는 별도의 함수도 있습니다.
- 이 함수는
range
와 같은 값을 생성하지만, 값을 리스트로 저장하지 않고 순차적으로 생성하는 이터레이터(iterator)를 반환합니다.
- 큰 범위를 다룰 때
xrange
가 더 효율적이며 메모리를 적게 사용합니다.
파이썬 3
range
:
- 파이썬 3에서는
range
함수가 파이썬 2.7의 xrange
와 유사하게 작동합니다.
- 즉, 파이썬 3의
range
는 리스트를 반환하지 않고, 필요에 따라 숫자를 생성하는 이터레이터를 반환합니다.
- 이는 큰 범위의 숫자를 다룰 때 메모리 효율성을 높여줍니다.
- 파이썬 3에서는
xrange
함수가 제거되었으며, range
가 그 역할을 대체합니다.
결론적으로, 파이썬 3의 range
는 메모리 효율성을 개선하기 위해 파이썬 2.7의 xrange
의 기능을 통합하였습니다. 파이썬 2.7 사용자들은 큰 범위의 숫자를 다룰 때 xrange
를 사용하곤 했지만, 파이썬 3에서는 단순히 range
를 사용하면 됩니다.
Share on: