범위 기능은 한 번에 전체 시퀀스를 저장하기 위해 메모리를 할당하는 목록을 작성합니다. 이것은 메모리에 맞지 않을 수있는 큰 시퀀스의 경우 비효율적 일 수 있습니다. For example, range(1, 10000000) would create a list with 9999999 elements, potentially consuming significant memory.
xrangeIn contrast, the xrange function generates a sequence object that evaluates lazily. 전체 시퀀스를 메모리에 미리 저장하지 않습니다. 대신 필요에 따라 각 요소를 즉시 계산합니다. 이로 인해 특히 더 큰 시퀀스의 경우 XRange가 더 메모리 효율적으로 만듭니다.
효율에 대한 영향
xRange의 게으른 평가는 범위, 특히 큰 시퀀스의 경우 더 빠릅니다. 전체 시퀀스에 대한 메모리를 할당 할 필요가 없으므로 오버 헤드가 덜 발생합니다. 이것은 순서가 한 번만 반복되는 루프 또는 목록 이해에서 특히 두드러집니다.
기타 차이
Python 3에서 범위는 Xrange를 대체했습니다. XRANGE를 호출하면 NameError 예외가 발생합니다. Python 2.x에서 xrange와 같은 동작하는 시퀀스 객체를 만들려면 정지 인수와 함께 범위를 사용하십시오.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3