gpt4 book ai didi

Python 递归 no 'in' 解决方法

转载 作者:行者123 更新时间:2023-11-28 21:51:53 25 4
gpt4 key购买 nike

所以我的递归函数也是在列表中查找,看看某个项目是否已经在列表中重复。前任。 L = [1,2,3,4,3] 返回 True。我已经完成了它,但我不允许使用“in”功能,但不知道有什么解决方法。

编辑:我唯一可以使用的内置函数是 lenindex 和拼接运算符。

def has_repeats(L):
if L == []:
return False
elif L[0] in L[1:]:
return True
else:
return has_repeats(L[1:])
return False

最佳答案

您可以考虑使用递归以相反的顺序比较列表,使它们的索引相同,因为默认情况下 index 返回第一次出现的位置,如下所示:

def has_repeats(L):
if len(L) <= 1:
return False
if L.index(L[-1]) != len(L) - 1:
return True
return has_repeats(L[:-1])

用法:

has_repeats([1, 2, 3, 4, 3])
True

has_repeats([1, 2, 3, 4, 0])
False

所以基本上检查最后一项的索引 len(L) - 1 将与 L.index 相同,如果他们不这样做,则应该返回第一次出现的索引t匹配,最后一项之前有重复项,递归做。

关于Python 递归 no 'in' 解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29178905/

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