slice vs. islice 비교

Published onesixx on

slice와 islice는 모두 Python에서 제공하는 slicing 기능을 사용하는 함수입니다. 두 함수의 주요 차이점은 slice는 일반적인 시퀀스에 사용되며, islice는 iterator에 사용된다는 점입니다.

  1. sliceslice는 리스트, 문자열, 튜플 등과 같은 일반적인 시퀀스에 사용됩니다. slice는 시퀀스의 일부를 새로운 시퀀스로 반환합니다. slice는 전체 시퀀스를 메모리에 로드해야 하므로 큰 시퀀스에는 비효율적일 수 있습니다.
  2. slice 객체를 사용하는 것이 좋은 경우는 프로그래밍적으로 슬라이스를 조작해야 할 때입니다. 예를 들어, 슬라이스의 시작, 끝, 단계 크기를 변수로 설정하거나 변경해야 하는 경우에 slice 객체를 사용할 수 있습니다.

my_list = [0, 1, 2, 3, 4, 5]
sliced = my_list[slice(1, 4)]
sliced02 = my_list[1:4]

print(sliced)  # 출력: [1, 2, 3]
  1. isliceislice는 itertools 모듈의 일부로, iterator에 사용됩니다. islice는 iterator의 일부를 새로운 iterator로 반환합니다. islice는 필요한 요소만 메모리에 로드하므로 큰 시퀀스에 효율적입니다.
from itertools import islice

my_iter = iter([0, 1, 2, 3, 4, 5])
sliced = islice(my_iter, 1, 4)

print(list(sliced))  # 출력: [1, 2, 3]

위의 예제에서 slice는 리스트의 일부를 새로운 리스트로 반환하고, islice는 iterator의 일부를 새로운 iterator로 반환합니다.

Categories: Python Basic

onesixx

Blog Owner

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x