재귀 기법을 사용하여 중첩 목록의 총합을 구해야 하는 경우 목록을 매개변수로 사용하는 사용자 정의 방법을 사용합니다.
재귀는 더 큰 문제의 작은 비트의 출력을 계산하고 이러한 비트를 결합하여 더 큰 문제에 대한 솔루션을 제공합니다.
목록은 이기종 값(즉, 정수, 부동 소수점, 문자열 등과 같은 모든 데이터 유형의 데이터)을 저장하는 데 사용할 수 있습니다.
예시
아래는 동일한 데모입니다 -
def recursion_sum(my_list): my_total = 0 for elem in my_list: if (type(elem) == type([])): my_total = my_total + recursion_sum(elem) else: my_total = my_total + elem return my_total my_list = [[2,3], [7,9], [11,45], [78,98]] print("The list elements are :") print(my_list) print( "The sum is :") print(recursion_sum(my_list))
출력
The list elements are : [[2, 3], [7, 9], [11, 45], [78, 98]] The sum is : 253
설명
- 매개변수로 list를 사용하여 'recursion_sum'이라는 메서드가 정의되었습니다.
- 초기에는 변수가 0으로 할당됩니다.
- 목록의 요소는 반복되며 유형이 일치하면 목록의 요소가 추가되고 메서드가 다시 호출됩니다.
- 그렇지 않으면 요소가 변수에 추가됩니다.
- 이 변수는 콘솔에 출력으로 표시됩니다.
- 함수 외부에서 다음 작업이 수행됩니다. -
- 중첩 목록이 정의되어 콘솔에 표시됩니다.
- 이 목록을 매개변수로 전달하여 메서드를 호출합니다.
- 출력은 콘솔에 표시됩니다.