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

파이썬(Python)으로 리스트 요소의 합계 구하는 3가지 방법

이 글에서는 파이썬 리스트에 담긴 모든 요소의 합계를 구하는 다양한 해결 방법을 알아보겠습니다.

문제 정의

리스트(list)라는 반복 가능한(iterable) 자료구조가 주어졌을 때, 리스트 내 모든 요소의 합계를 계산해야 합니다.

예를 들어 [11, 22, 33, 44, 55, 66]이라는 리스트가 있다면, 결과값은 231이 되어야 합니다.

이 문제를 해결하기 위해 아래 세 가지 접근 방식을 하나씩 살펴보겠습니다.

1. for 루프 사용하기

가장 기본적인 방법입니다. 인덱스를 이용해 리스트를 순회하면서 각 요소를 누적 변수에 더하는 방식입니다.

예제 코드

# 합계를 저장할 변수 초기화
total = 0
# 리스트 생성
list1 = [11, 22, 33, 44, 55, 66]
# 리스트 순회하며 합계 계산
for ele in range(0, len(list1)):
    total = total + list1[ele]
# 결과 출력
print("Sum of all elements in given list: ", total)

실행 결과

Sum of the array is 231

2. while 루프 사용하기

while 루프를 사용하면 조건식을 통해 리스트의 끝까지 직접 제어하며 순회할 수 있습니다. 인덱스 변수를 직접 관리해야 한다는 점이 특징입니다.

예제 코드

# 파이썬 리스트 합계 구하기
total = 0
ele = 0
# 리스트 생성
list1 = [11, 22, 33, 44, 55, 66]
# while 루프로 순회
while(ele < len(list1)):
    total = total + list1[ele]
    ele += 1
# 결과 출력
print("Sum of all elements in given list: ", total)

실행 결과

Sum of the array is 231

3. 재귀 함수 사용하기

재귀(Recursion)를 활용하면 함수가 자기 자신을 호출하면서 문제를 작은 단위로 나누어 해결할 수 있습니다. 리스트의 마지막 요소부터 차례대로 더해 올라가는 방식입니다.

예제 코드

# 리스트 생성
list1 = [11, 22, 33, 44, 55, 66]
# 재귀 함수 정의
def sumOfList(list, size):
    if (size == 0):
        return 0
    else:
        return list[size - 1] + sumOfList(list, size - 1)
# 메인 실행부
total = sumOfList(list1, len(list1))
print("Sum of all elements in given list: ", total)

실행 결과

Sum of the array is 231

참고: 내장 함수 sum() 활용하기

실무에서는 위와 같이 직접 구현하지 않고, 파이썬에서 기본 제공하는 sum() 내장 함수를 사용하는 것이 가장 간결하고 효율적입니다.

예제 코드

list1 = [11, 22, 33, 44, 55, 66]
total = sum(list1)
print("Sum of all elements in given list: ", total)

실행 결과

Sum of the array is 231

마치며

이번 글에서는 파이썬 리스트의 요소 합계를 구하는 네 가지 방법, 즉 for 루프, while 루프, 재귀 함수, 그리고 내장 함수 sum()을 알아보았습니다. 학습 목적으로는 루프와 재귀 구현을 연습해 보고, 실제 프로젝트에서는 가독성과 성능이 뛰어난 sum() 함수를 사용하는 것을 추천합니다.