여러 개의 요소로 구성된 리스트 nums가 있다고 가정해 보겠습니다. 이때 리스트에서 홀수 인덱스(0 기준)에 해당하는, 즉 두 번째·네 번째·여섯 번째… 위치에 있는 요소들만 골라내야 합니다.
예를 들어 입력이 nums = [5,7,6,4,6,9,3,6,2]라면, 출력은 [7, 4, 9, 6]이 됩니다.
문제 해결 접근 방법
이 문제는 다음 단계를 통해 해결할 수 있습니다.
- 파이썬의 리스트 슬라이싱(slicing) 기법을 활용합니다.
- 인덱스 1부터 시작해서 리스트 끝까지, 한 단계마다 2씩 건너뛰며 요소를 가져옵니다.
- 슬라이싱 문법은
[1::2]입니다. 여기서 첫 번째 값은 시작 인덱스(1), 세 번째 값은 스텝(2)을 의미하며, 끝 인덱스는 비워 두면 리스트의 마지막까지 자동으로 처리됩니다.
예제
아래 구현 예시를 통해 더 쉽게 이해할 수 있습니다.
def solve(nums): return nums[1::2] nums = [5,7,6,4,6,9,3,6,2] print(solve(nums))
입력
[5,7,6,4,6,9,3,6,2]
출력
[7, 4, 9, 6]
코드 설명
solve() 함수는 전달받은 리스트에 대해 nums[1::2] 슬라이싱을 수행합니다. 이 표현식은 인덱스 1, 3, 5, 7… 에 해당하는 요소들을 순서대로 반환합니다. 위 예제에서는 7, 4, 9, 6이 차례로 선택되어 새로운 리스트로 반환되는 것입니다.
이처럼 별도의 반복문 없이 슬라이싱 한 줄만으로 원하는 위치의 요소들을 손쉽게 추출할 수 있으며, 코드가 간결하고 실행 속도도 빠르다는 장점이 있습니다.