我正在尝试创建一个递归函数,该函数遍历具有单个字符串的任何级别的嵌套列表,并返回 True 或 False 无论给定字符是否在该列表中。
这是我的代码:
def inlist(character, lists):
"""Checks if a given character is in a list of any level"""
if lists[0] == character:
return True
elif isinstance(lists[0], list):
return inlist(character,lists[0])
elif not lists[0] == character:
return inlist(character,lists[1:])
else:
return False
当我运行代码时: ("c", [["a", "b","c", "d"],"e"])
它似乎工作正常。但是,当我以这种方式输入列表时: ("c", [["a", "b",],["c", "d"],"e"])
它给了我一个错误,它说:IndexError:列表索引超出范围
我可以不这样写嵌套列表吗?如果是这样,为什么?或者我的代码有什么问题导致它无法遍历整个列表?
陪伴而非守候
红糖糍粑
慕沐林林
相关分类