잠깐만요! 왜 food[0:2]가 아닌 food[0:3]일까요? range(a, b) 명령어를 생각해 보세요. range(a, b) 명령어처럼 리스트명[a:b]에서도 a는 시작 위치, b는 종료 위치입니다. b까지 실행되는 것이 아니라 b-1까지만 실행됩니다. 실제로는 b가 아닌 b-1 인덱스까지만 포함하는 것이죠.
코드로 확인해 봅시다.
food = ['피자', '치킨', '떡볶이', '스테이크', '파스타']
print(food[0:3])
실행결과
['피자', '치킨', '떡볶이']
food[0:3]은 food[0]부터 food[2]까지를 의미하므로 food 리스트에서 앞부터 3개의 데이터, 즉 피자부터 떡볶이까지만 출력됩니다.
이번에는 떡볶이부터 스테이크까지 출력하는 코드를 작성해 볼까요? 떡볶이는 food[2]에 있고, 스테이크는 food[3]에 있으니 food[2:4]로 슬라이싱하면 됩니다.
print(food[2:4])
실행결과
['떡볶이', '스테이크']