gpt4 book ai didi

python - 使用递归选择列表中的最小值

转载 作者:太空宇宙 更新时间:2023-11-04 09:37:06 26 4
gpt4 key购买 nike

这是我为了使用递归找到列表中的最小值而定义的函数。但是,我在函数内部调用了两次函数,我认为这有点奇怪。有没有办法解决 append() 函数?我们还没有研究它,所以我想问是否有一种更简单的方法可以通过不使用 append() 来获得相同的解决方案?

def minimum(lst):
"""
parameters : lst of type list
return : the value of the smallest element in the lst
"""
if len(lst) == 1:
return lst[0]

if lst[0] < lst[1]:
lst.append(lst[0])
return(minimum(lst[1:]))
return(minimum(lst[1:]))

最佳答案

我猜你可以这样做来避免追加:

def minimum(lst):

if len(lst)==1:
return lst[0]

if lst[0] < lst[1]:
return minimum(lst[0:1]+ lst[2:])
else:
return minimum(lst[1:])

但我认为这个更好,只调用一次最小值:

def minimum(lst):        
if len(lst) == 1:
return lst[0]
s = minimum(lst[1:])

return s if s < lst[0] else lst[0]

关于python - 使用递归选择列表中的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53243766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com