이 글에서는 Python 리스트에서 대체 요소(alternate elements)를 추출하는 방법을 알아봅니다. 문제를 해결할 수 있는 두 가지 서로 다른 방법을 예제 코드와 함께 소개합니다.
방법 1: 리스트 컴프리헨션 활용
첫 번째 방법은 리스트 컴프리헨션(list comprehension)과 인덱스 조건을 활용하는 것입니다. 아래 단계를 따라 해결할 수 있습니다.
- 리스트를 초기화합니다.
- 리스트를 순회하면서 홀수 인덱스에 해당하는 모든 요소를 저장합니다.
- 결과를 출력합니다.
예제
코드를 확인해 보겠습니다.
# 리스트 초기화 numbers = [1, 2, 3, 4, 5] # 대체 요소 찾기 result = [numbers[i] for i in range(len(numbers)) if i % 2 != 0] # 결과 출력 print(result)
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
[2, 4]
i % 2 != 0 조건으로 인덱스를 필터링하면 홀수 인덱스(1, 3, ...)에 위치한 요소들만 선택됩니다. 이렇게 첫 번째 요소를 건너뛰고 그다음부터 하나씩 건너뛰며 요소를 가져올 수 있습니다.
방법 2: 슬라이싱 활용
두 번째 방법은 파이썬의 슬라이싱(slicing) 기능을 활용하는 것입니다. 별도의 반복문 없이 한 줄로 처리할 수 있어 훨씬 간결하고 가독성이 뛰어납니다.
- 리스트를 초기화합니다.
[1::2]슬라이싱을 사용해 홀수 인덱스의 요소를 가져옵니다.- 결과를 출력합니다.
예제
코드를 확인해 보겠습니다.
# 리스트 초기화 numbers = [1, 2, 3, 4, 5] # 대체 요소 찾기 result = numbers[1::2] # 결과 출력 print(result)
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
출력
[2, 4]
[1::2]는 시작 인덱스를 1로 지정하고, 리스트 끝까지 2칸씩 건너뛰며 요소를 선택한다는 의미입니다. 즉, 인덱스 1, 3, 5...에 해당하는 요소들을 새로운 리스트로 반환합니다.
마무리
두 방법 모두 동일한 결과를 반환하지만, 슬라이싱 방식이 코드가 더 짧고 내부적으로 최적화되어 있어 성능 면에서도 유리합니다. 실무에서는 대부분 슬라이싱을 사용하는 것을 권장합니다. 글에 대해 궁금한 점이 있다면 댓글로 남겨주세요.