728x90
반응형

range 2

Python 3에서“1000000000000000 in range (1000000000000001)”가 빠른 이유

질문 : Python 3에서“1000000000000000 in range (1000000000000001)”가 왜 그렇게 빠른가요? 실제로 Python 3의 객체 유형 인 range() 함수는 생성기와 유사하게 즉시 내용을 생성한다는 것을 이해합니다. 이 경우 1 천조가 범위 내에 있는지 확인하려면 1 천조 개의 값을 생성해야하므로 다음 줄에 과도한 시간이 걸릴 것으로 예상했을 것입니다. 1000000000000000 in range(1000000000000001) 게다가, 내가 얼마나 많은 0을 더 했든간에 계산은 거의 같은 시간 (기본적으로 순간적)이 걸리는 것 같습니다. 나는 또한 이와 같은 것을 시도했지만 계산은 여전히 거의 즉각적입니다. 1000000000000000000000 in range..

Python 2.X에서 범위와 xrange 함수의 차이점

질문 : Python 2.X에서 범위와 xrange 함수의 차이점은 엇입니까? 분명히 xrange가 더 빠르지 만 왜 더 빠른지 (지금까지 더 빠르다는 증거 외에는 증거가 없음) 또는 그 외에 다른 점이 무엇인지 모르겠습니다. for i in range(0, 20): for i in xrange(0, 20): 답변 Python 2.x에서 : range 는 목록을 생성하므로 range(1, 10000000) 9999999 요소가있는 목록이 메모리에 생성됩니다. xrange 는 느리게 평가하는 시퀀스 객체입니다. Python 3 : range 는 Python 2의 xrange 와 동일합니다. 목록을 얻으려면 명시 적으로 list(range(...)) 사용해야합니다. xrange 는 더 이상 존재하지 않습니다..

728x90
반응형