Python 2.X에서 'range'와 'xrange' 함수의 차이점
Python 2.X에서는 'range'와 'xrange' 함수가 나타납니다. 매우 유사하며 둘 다 지정된 범위 내에서 일련의 숫자를 생성합니다. 그러나 둘 사이에는 몇 가지 근본적인 차이점이 있습니다.
주요 차이점
메모리 관리:
-
'범위': 시퀀스의 모든 요소를 보유하는 목록을 메모리에 생성합니다. 범위가 크면 메모리 집약적일 수 있습니다.
-
'xrange': 숫자를 느리게 평가하여 한 번에 하나씩 생성합니다. 전체 시퀀스를 메모리에 저장할 필요가 없습니다.
속도:
-
'범위': 생성하므로 메모리에 목록이 있으므로 대용량의 경우 속도가 느려질 수 있습니다. ranges.
-
'xrange': 느리게 평가하는 시퀀스 객체이므로 특히 넓은 범위의 경우 훨씬 더 빠릅니다.
Python 버전에서의 사용
파이썬 2.X:
- 'range'는 목록을 생성합니다(예: range(0, 20) = [0, 1, 2, ..., 19])
- 'xrange'는 시퀀스 객체를 생성하지만 메모리에 저장하지 않습니다(예: xrange(0, 20))
Python 3:
- 'range'는 Python 2의 'xrange'와 동일합니다(시퀀스 객체 생성)
- 'xrange'는 더 이상 Python에 존재하지 않습니다. 3
위 내용은 Python 2.x의 `range` 함수와 `xrange` 함수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!