Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 사용자 지정 인덱스의 요소를 반복하는 방법 – enumerate 활용 예제

리스트에서 특정 인덱스(사용자 지정 위치)에 해당하는 요소만 반복해야 하는 경우가 있습니다. 이럴 때는 간단한 for 반복문과 enumerate 함수를 활용해 인덱스를 확인하고, extend 메서드와 append 메서드를 조합하면 손쉽게 구현할 수 있습니다.

예제 코드

my_list = [34, 56, 77, 23, 31, 29, 62, 99]
print("The list is :")
print(my_list)

index_list = [3, 1, 4, 6]
my_result = []

for index, element in enumerate(my_list):
   if index in index_list:
      my_result.extend([element, element])
   else:
      my_result.append(element)

print("The result is :")
print(my_result)

실행 결과

The list is :
[34, 56, 77, 23, 31, 29, 62, 99]
The result is :
[34, 56, 56, 77, 23, 23, 31, 31, 29, 62, 62, 99]

코드 설명

  • 먼저 리스트 my_list를 정의하고 콘솔에 출력합니다.
  • 반복 대상이 될 인덱스들을 담은 정수 리스트 index_list를 정의합니다.
  • 최종 결과를 저장할 빈 리스트 my_result를 준비합니다.
  • enumerate 함수를 사용해 리스트를 순회하면서 각 요소와 그 인덱스를 동시에 가져옵니다.
  • 현재 인덱스가 index_list에 포함되어 있다면, extend 메서드로 해당 요소를 두 번 추가해 반복 효과를 만듭니다.
  • 포함되어 있지 않다면, append 메서드로 요소를 한 번만 추가합니다.
  • 모든 요소를 처리한 후 최종 리스트가 콘솔에 출력됩니다.

핵심 포인트

  • enumerate: 리스트를 순회하면서 인덱스와 값을 동시에 얻을 수 있어, 인덱스 기반 조건 처리에 매우 유용합니다.
  • extend vs append: append는 요소 하나를 그대로 추가하지만, extend는 iterable의 모든 요소를 개별적으로 추가합니다. 따라서 [element, element]를 전달하면 같은 값이 두 번 삽입되어 원하는 반복 효과를 얻을 수 있습니다.

이처럼 enumerate와 리스트 메서드를 조합하면 복잡한 로직 없이도, 지정된 인덱스의 요소만 반복된 새로운 리스트를 간단하고 직관적으로 만들 수 있습니다.