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

Python – 튜플 리스트의 교차 합계 구현하기

튜플 리스트에서 인덱스에 따라 요소를 번갈아 가며 합산해야 하는 경우, 간단한 반복문과 나머지 연산자(%)를 활용하면 손쉽게 해결할 수 있습니다.

짝수 인덱스에서는 튜플의 첫 번째 요소를, 홀수 인덱스에서는 두 번째 요소를 더하는 방식으로 동작합니다.

예제 코드

my_list = [(24, 11), (45, 66), (53, 52), (77, 51), (31, 10)]

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

my_result = 0
for index in range(len(my_list)):

    if index % 2 == 0:
        my_result += my_list[index][0]
    else:
        my_result += my_list[index][1]

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

실행 결과

The list is :
[(24, 11), (45, 66), (53, 52), (77, 51), (31, 10)]
The result is :
225

코드 설명

  • 먼저 튜플로 구성된 리스트를 정의하고 콘솔에 출력합니다.
  • 합계를 저장할 변수를 0으로 초기화합니다.
  • for 반복문으로 리스트의 각 요소를 순회하면서, 나머지 연산자(%)를 사용해 해당 인덱스를 2로 나눈 나머지가 0인지 확인합니다.
  • 나머지가 0이라면(짝수 인덱스), 해당 튜플의 0번째 요소를 변수에 더합니다.
  • 그렇지 않다면(홀수 인덱스), 첫 번째 인덱스의 요소를 변수에 더합니다.
  • 최종 계산된 합계가 콘솔에 출력됩니다.

보너스: 한 줄로 작성하는 방법

enumerate와 제너레이터 표현식을 사용하면 위 코드를 다음과 같이 더 간결하게 표현할 수 있습니다.

my_result = sum(t[0] if i % 2 == 0 else t[1] for i, t in enumerate(my_list))
print(my_result)  # 225

두 방법 모두 동일한 결과인 225를 반환하며, 상황에 따라 가독성이 좋은 방식을 선택하면 됩니다.