더북(TheBook)

6.1.5 리스트에서 필요한 요소만 꺼내기

지금까지 사용한 리스트는 매우 간단했습니다. 그러나 리스트에 더 많은 요소를 담을 수도 있습니다. 많은 요소가 있으면 때때로 필요한 부분과 필요하지 않은 부분이 섞일 수 있습니다. 그래서 원하는 정보를 얻으려면 필요한 부분만 꺼내 쓸 수 있어야 합니다.

 

리스트 슬라이싱하기

연, 월, 일, 시, 분을 [2020, 4, 5, 11, 30] 형태로 저장한 리스트가 있다고 가정해 봅시다. 이 리스트에서 월, 일만 필요하다면 인덱스 1과 2의 데이터만 추출해야 합니다. 또는 날짜를 제외한 시간 데이터만 필요한 경우에는 마지막 요소 2개만 골라내야죠. 앞서 사용한 food 리스트에서도 가장 좋아하는 음식 3개나 가장 덜 좋아하는 음식 2개 등 원하는 부분만 추출해야 할 수도 있습니다.

이처럼 원하는 부분만 골라내는 것을 리스트 슬라이싱이라고 합니다. 슬라이싱(slicing)은 (얇게) 자르는 것을 말합니다. 리스트를 자르는 게 어떤 건지 이해하기 쉽게 예를 들어 보겠습니다. 보통 ‘1일부터 5일까지’를 간략하게 ‘1~5일’로 물결표(~)를 써서 나타냅니다. 리스트 슬라이싱도 이와 비슷합니다. ‘여기에서 저기까지 데이터를 뽑아줘’라는 뜻입니다. ‘여기’와 ‘저기’는 데이터의 위치를 나타내니 인덱스가 필요하겠죠. 그럼 ‘인덱스 a에서 b까지 데이터를 뽑아줘’라고 표현할 수 있습니다. 물결표를 사용해 더 간단히 나타내면 ‘인덱스 a~b’, 더 줄여서 [a~b]라고 표현할 수 있습니다. 다만, 파이썬에서는 물결표 대신 콜론(:)을 사용합니다. 예를 들어, ‘food 리스트의 인덱스 0부터 2까지’를 표현하면 food[0:3]이 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.