Recursion works naturally with lists.
Process the first element, then recurse on the rest. python def sum_list(lst): if not lst: # Empty list return 0 return lst[0] + sum_list(lst[1:]) print(sum_list([1, 2, 3, 4])) # 10 Tracing: plaintext sum_list([1,2,3,4]) = 1 + sum_list([2,3,4]) sum_list([2,3,4]) = 2 + sum_list([3,4]) sum_list([3,4]) = 3 + sum_list([4]) sum_list([4]) = 4 + sum_list([]) sum_list([]) = 0 Result: This pattern, process head then recurse on tail, is common in functional programming.