# Python Program to Find the Sum of Elements in a List Recursively

Don’t stop learning now. Get hold of all the important Java fundamentals with the Simple java program example guide and practice well.

Lists in Python:

A list is a Python data type that can be used in a variety of ways. A list is made up of comma-separated values, which are referred to as list items. Within square brackets, a list is declared. It’s worth noting that elements in a list don’t have to be of the same type.

Recursion:

If you’re familiar with Python functions, you’ll know that it’s typical for one function to call another. It is also feasible for a function in Python to call itself! A recursive function calls itself, and the process of using a recursive function is known as recursion.

Although it may appear strange for a function to call itself, many sorts of programming challenges are better stated recursively.

Given a list, the task is to find the sum of the list using recursion in Python.

Examples:

Example1:

Input:

given list = 9, 1, 27, 48, 91, 93, 99, 27, 29, 33, 39, 19, 11, 27, 29, 35, 39, 12, 65, 69, 67

Output:

The sum of the given list
[9, 1, 27, 48, 91, 93, 99, 27, 29, 33, 39, 19, 11, 27, 29, 35, 39, 12, 65, 69, 67]
with size  21  = 869

Example2:

Input:

given list =11 13 21 85 34 96 75 73 14 25 37 39 49 47 65 69 63 21 29 123 456 789

Output:

The sum of the given list
[11, 13, 21, 85, 34, 96, 75, 73, 14, 25, 37, 39, 49, 47, 65, 69, 63, 21, 29, 123, 456, 789]
with size 22 = 2234

## Program to Find the Sum of Elements in a List Recursively in Python

Below are the ways to Find the Sum of Elements in a List using the recursive approach in Python:

### 1)Using Recursion (Static Input)

Approach:

• Give the input of the list as static input and store it in a variable.
• Calculate the size of the list using the len() function and store it in a variable.
• Create a recursive function that accepts an array and its size as parameters.
• The recursive function will take the list and its size as inputs.
• Return 0 if the list’s length is zero.
• Otherwise, along with the recursive function call, return the sum of the last entry of the list (with the size reduced by 1).
• The final sum is printed when the returned result is saved in a variable.
• The exit of the Program.

Below is the implementation:

# function which accepts the given list and list size
# as parameters and calculates the sum of the given list using recursion

def sumListRecursion(given_list, sizeOflist):
# Return 0 if the list's length is zero.(base condition)
if (sizeOflist == 0):
return 0
else:
# Otherwise, along with the recursive function call,
# return the sum of the last entry of the list (with the size reduced by 1).

return given_list[sizeOflist-1] + sumListRecursion(given_list, sizeOflist-1)

# Give the input of the list as static input and store it in a variable.
given_list = [9, 1, 27, 48, 91, 93, 99, 27, 29,
33, 39, 19, 11, 27, 29, 35, 39, 12, 65, 69, 67]
# Calculate the size of the list using len() function and store it in a variable.
sizeOflist = len(given_list)
# passing the given list and sizeOflist as arguments to the recursive function sumListRecursion.
print('The sum of the given list\n', given_list, '\nwith size ',
sizeOflist, ' =', sumListRecursion(given_list, sizeOflist))


Output:

The sum of the given list
[9, 1, 27, 48, 91, 93, 99, 27, 29, 33, 39, 19, 11, 27, 29, 35, 39, 12, 65, 69, 67]
with size  21  = 869

### 2)Using Recursion (User Input separated by spaces)

Approach:

• Scan the given list using map,input(),list() and split() functions.
• Calculate the size of the list using the len() function and store it in a variable.
• Create a recursive function that accepts an array and its size as parameters.
• The recursive function will take the list and its size as inputs.
• Return 0 if the list’s length is zero.
• Otherwise, along with the recursive function call, return the sum of the last entry of the list (with the size reduced by 1).
• The final sum is printed when the returned result is saved in a variable.
• The exit of the Program.

Below is the implementation:

# function which accepts the given list and list size
# as parameters and calculates the sum of the given list using recursion

def sumListRecursion(given_list, sizeOflist):
# Return 0 if the list's length is zero.(base condition)
if (sizeOflist == 0):
return 0
else:
# Otherwise, along with the recursive function call,
# return the sum of the last entry of the list (with the size reduced by 1).

return given_list[sizeOflist-1] + sumListRecursion(given_list, sizeOflist-1)

# Scan the given list using map,input(),list() and split() functions.
given_list = list(map(int, input(
'Enter some random integer elements to the list separated by spaces = ').split()))
# Calculate the size of the list using len() function and store it in a variable.
sizeOflist = len(given_list)
# passing the given list and sizeOflist as arguments to the recursive function sumListRecursion.
print('The sum of the given list\n', given_list, '\nwith size ',
sizeOflist, ' =', sumListRecursion(given_list, sizeOflist))


Output:

Enter some random integer elements to the list separated by spaces =
11 13 21 85 34 96 75 73 14 25 37 39 49 47 65 69 63 21 29 123 456 789
The sum of the given list
[11, 13, 21, 85, 34, 96, 75, 73, 14, 25, 37, 39, 49, 47, 65, 69, 63, 21, 29, 123, 456, 789]
with size 22 = 2234

Explanation:

• A recursive function is called using the list and its size as parameters.
• If the function’s size reduces to zero, 0 is returned.
• Otherwise, the recursive function call (with the size reduced by 1) is returned, along with the sum of the last entry of the list.
• The returned values are saved in a list, and the sum of the list’s items is printed using the print() function.

Related Programs: