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

Python – 리스트에서 반복되는 인덱스 값 구하기

리스트에서 반복해서 나타나야 하는 인덱스 값을 구해야 할 때, 리스트 컴프리헨션(list comprehension)enumerate 함수를 함께 사용하면 간단하게 해결할 수 있습니다.

예를 들어 리스트의 각 요소 값만큼 해당 요소의 인덱스를 반복해서 새로운 리스트를 만드는 경우에 유용하게 활용됩니다.

예제 코드

다음은 이를 구현한 예제입니다.

my_list = [4, 0, 3, 1]

print("The list is :")
print(my_list)

my_result = [element for sub in ([index] * element for index, element in enumerate(my_list)) for element in sub]

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

실행 결과

The list is :
[4, 0, 3, 1]
The result is :
[0, 0, 0, 0, 2, 2, 2, 3]

코드 설명

  • 리스트를 정의한 뒤 콘솔에 출력합니다.

  • 리스트 컴프리헨션을 사용하여 리스트의 인덱스 값을 순회하며 처리합니다.

  • enumerate 함수는 리스트를 순회하면서 각 요소에 인덱스를 함께 제공하며, 이를 통해 [index] * element로 인덱스를 요소 값만큼 반복한 시퀀스를 생성합니다.

  • 생성된 결과는 변수 my_result에 할당됩니다.

  • 최종 결과가 콘솔에 출력으로 표시됩니다.

위 예제에서 인덱스 0은 값 4만큼 네 번 반복되고, 인덱스 1은 값 0이므로 생략되며, 인덱스 2는 세 번, 인덱스 3은 한 번 반복되어 최종 결과 리스트가 완성됩니다.