흔히 파이썬에서 주로 사용하는 반복문은 for i in range(10)와 같은 형태입니다.
이는 반환 형태가 리스트입니다.
즉 범위가 10, 이라면 0-9에 해당하는 수가 모두 리스트형태 내부에 존재합니다.
그러나 xrange()는 안에 몇을 선언하든 그 크기가 같습니다.
즉 리스트형태로 모든 값을 가지고 시작하는 것이 아니라
generator와 yield처럼 해당 값에 접근할때마다 데이터를 로드하는 형식으로 작동합니다.
따라서 list에서 사용하는 다양한 형태의 함수를 사용하지 못하지만,
단순히 인덱스나 순차적 접근을 사용한다면 xrange()가 메모리를 보다 효율적으로 사용할 수 있습니다.
참조:
'Python' 카테고리의 다른 글
Python 개발하며 실수할 수 있는 것 몇가지 (0) | 2022.07.27 |
---|---|
파이썬으로 클린 아키텍쳐 적용하기 (0) | 2022.07.26 |
python 리스트를 딕셔너리로 한줄에 바꾸는 방법. (0) | 2021.12.28 |
python 메모리 관리( 레퍼런스 카운트, 가비지 콜렉터) (0) | 2021.06.20 |
제너레이터, yield (이터레이터와 제너레이터) (0) | 2021.06.19 |