리스트 Slice 관련 질문입니다.
보통 [1:-1]
의 slice는 범위를 의미하죠?
[1:-1:3]
의 방식 slice는 저도 이번에 처음해봤네요...ㅎㅎ 대충 테스트 해보니까 두번째 : 다음 숫자는 step을 의미하네요!
예시로 알려드릴게요!
some_list = [11,3,6,4,12,1,2]
print(some_list[1:-1]) # [3, 6, 4, 12, 1]
print(some_list[1:-1:1]) # [3, 6, 4, 12, 1]
print(some_list[1:-1:2]) # [3, 4, 1]
print(some_list[1:-1:3]) # [3, 12]
print(some_list[1:-1:0]) # ValueError: slice step cannot be zero
주석으로 달아둔 게 print의 결과에요!
print(some_list[1:-1])
와 print(some_list[1:-1:1])
의 결과가 같죠? step의 값으로 1을 주면 모든 값을 표현해요. 즉, step은 나온 결과에서 1을 주면 모든 값, 2를 주면 하나씩 건너띄면서 표현해요.
그래서 마지막 예시인 print(some_list[1:-1:0]
에서 step에 0을 주면 에러가 발생하더라구요!저도 이 에러가 발생하고 나서야 정확하게 아 이게 step이구나 싶었어요 ㅎㅎㅎ
영어이지만... 조금 더 자세한 정보는 여기를 가서 확인해보시면 좋을 것 같아요! ( TMI지만 python 2.3에 신기능으로 추가된 기능인가봐요! )
댓글 1개