라벨이 slice인 게시물 표시

[python] itertools.islice와 slice 차이점

itertools.islice와 slice 차이점 import itertools data = range ( 10 ) # 새로운 리스트 생성 (메모리 할당) data[ 2 : 5 ] # 기존에 있던 data1에 iterator 객체 생성 (메모리 할당 X) itertools.islice(data , 2 , 5 ) slice는 메모리를 할당받아 새로운 리스트를 생성하고 itertools.islice는 기존에 할당된 메모리를 재사용합니다. 리스트가 엄청 클 경우에 새로운 리스트를 만들어 메모리를 할당 받는 것은 불가능 합니다. itertools를 이용한다면 보다 많은 메모리 사용 & 새로운 리스트를 만드는 연산을 없앨 수 있습니다. slice는 내부 스토리지에 직접 접근하기 때문에 itertools.islice보다 속도가 빠릅니다. itertools는 iterator 객체가 iteration 하는 속도만큼 오버헤드가 발생하여 일반적으로 slice보다 속도는 느립니다. 적은 데이터를 사용하며 빠른 속도가 필요할 때는 slice를 많은 데이터를 사용해야 할 경우에는 itertools.islice를 사용하시면 됩니다. 참고문헌 https://stackoverflow.com/questions/32172612/why-would-i-want-to-use-itertools-islice-instead-of-normal-list-slicing/32172654 https://stackoverflow.com/questions/41079001/python-3-5-slice-vs-islice-vs-alternatives-efficiency-comparison?rq=1

[python]파이썬: collections deque 슬라이싱 하는 법 (itertools)

이미지
itertools에 있는 islice 설명 iterable한 객체(list, range등)를 your_list에 넣으신 뒤 start, end를 설정해주시면 slice가 가능합니다. step을 사용하지 않은 경우 step을 사용한 경우 참고문헌 https://hamait.tistory.com/803 https://docs.python.org/3/library/itertools.html