이 글에서는 파이썬 리스트에 담긴 모든 요소의 합계를 구하는 다양한 해결 방법을 알아보겠습니다.
문제 정의
리스트(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() 함수를 사용하는 것을 추천합니다.