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

Python – enumerate로 인덱스 값과 요소의 곱을 구해 합계 계산하기

리스트의 각 요소에 해당 인덱스 값을 곱한 뒤, 그 결과를 모두 더한 합계를 구해야 하는 경우 파이썬의 내장 함수인 enumerate를 활용하면 간단하게 해결할 수 있습니다. enumerate는 리스트를 순회할 때 인덱스와 요소를 동시에 반환해 주기 때문에 별도의 카운터 변수 없이 깔끔한 코드 작성이 가능합니다.

예제 코드

아래는 인덱스 값과 요소의 곱을 누적하여 합계를 구하는 예제입니다.

my_list = [71, 23, 53, 94, 85, 26, 0, 8]

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

my_result = 0

for index, element in enumerate(my_list):
    my_result += (index + 1) * element

print("The resultant sum is :")
print(my_result)

실행 결과

The list is :
[71, 23, 53, 94, 85, 26, 0, 8]
The resultant sum is :
1297

코드 설명

  • 정수로 이루어진 리스트를 정의하고 콘솔에 출력합니다.

  • 합계를 저장할 변수 my_result를 0으로 초기화합니다.

  • enumerate 함수를 사용해 리스트를 순회하며 인덱스와 요소를 동시에 가져옵니다.

  • 각 인덱스에 1을 더한 값(1부터 시작하는 순번)과 해당 요소를 곱한 뒤, 그 결과를 my_result에 누적하여 더합니다.

  • 반복이 끝나면 최종적으로 계산된 합계가 콘솔에 출력됩니다.

참고: 한 줄로 표현하기

위 로직은 제너레이터 표현식과 sum 함수를 사용하면 다음과 같이 한 줄로도 작성할 수 있습니다.

my_result = sum((index + 1) * element for index, element in enumerate(my_list))

이 방식은 가독성이 좋을 뿐만 아니라 불필요한 중간 변수를 줄여주므로, 실무에서도 자주 활용되는 파이썬다운 표현입니다.