下面就针对 Python 列表递归求和、计数、求最大元素的实例进行详细讲解。
列表递归求和
递归求和的方法就是,将一个列表分解为一个个单独的元素,然后递归相加,最后得到总的和。
def recursive_sum(arr):
if len(arr) == 1:
return arr[0]
else:
return arr[0] + recursive_sum(arr[1:])
arr
表示要进行求和的列表。- 使用 if 判断列表的长度是否为 1,如果是,则返回列表唯一的元素。
- 如果长度不为 1,那么返回第一个元素加上递归函数中缩小问题长度的结果,这里使用了分片语法。
示例:
arr = [1, 2, 3, 4, 5]
print('The sum of arr is: ', recursive_sum(arr))
输出结果:
The sum of arr is: 15
列表递归计数
递归计数的方法就是,将一个列表分解为一个个单独的元素,然后递归计数,最后得到元素个数。
def recursive_count(arr):
if not arr:
return 0
else:
return 1 + recursive_count(arr[1:])
- 如果列表为空,那么返回 0。
- 如果列表不为空,那么返回 1 加上递归函数中缩小问题长度的结果,这里同样使用了分片语法。
示例:
arr = [1, 2, 3, 4, 5]
print('The length of arr is: ', recursive_count(arr))
输出结果:
The length of arr is: 5
列表递归求最大值
递归求最大值的方法就是,将一个列表分解为一个个单独的元素,然后递归比较,最后得到最大值。
def recursive_max(arr):
if len(arr) == 1:
return arr[0]
else:
max_num = recursive_max(arr[1:])
return max_num if max_num > arr[0] else arr[0]
- 如果列表的长度为 1,那么返回列表唯一的元素。
- 如果长度不为 1,那么递归调用列表的子列表,依次取得最大值,并和当前元素进行比较,返回较大的那个。
示例:
arr = [44, 12, 92, 3, 61, 75, 1, 29]
print('The max value of arr is: ', recursive_max(arr))
输出结果:
The max value of arr is: 92
这就是 Python 列表递归求和、计数、求最大元素的实例攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 列表递归求和、计数、求最大元素的实例 - Python技术站