【发布时间】:2021-04-16 10:04:55
【问题描述】:
我正在尝试使用递归函数来反转 python 中的列表。下面给出的 python 程序采用三个参数一个列表lst,一个起始索引start,从该列表应该反转的位置和一个结束索引end。但是函数返回None,我无法理解为什么?
def reverse(lst,start,end):
if start>=end:
return lst
else:
temp=lst[start]
lst[start]=lst[end]
lst[end]=temp
reverse(lst,start+1,end-1)
【问题讨论】:
-
将
reverse(lst,start+1,end-1)更改为return reverse(lst,start+1,end-1) -
查看
else案例。它递归调用自身,然后丢弃结果并隐式返回None。要修复它,只需添加缺少的return语句。
标签: python python-3.x return return-value nonetype