给定一个嵌套列表L(使得L的每个元素是一个整数或一个列表,它本身可能包含整数或列表,这些列表可能会依次等等)返回确实是在L.Python嵌套列表递归搜索
search([1, [2, 3], 4, [5, [6 , [], [8, 9]], 10]], 8)
应该返回True。
这是我到目前为止有:
def search (L,s):
"""(list, anytype) _> Bool
Returns true iff s is present in L
"""
if L:
if L[0] == s:
return True
else:
return search (L[1:], s)
else:
return False
这个当前的代码适用于列表如果没有嵌套,或者如果它是嵌套像这样(嵌套元素是最后一个元素):
[1, 2, 3, [4, 5]]
但不适合以下事项:
[1, 2, [3, 4], 5]
我怎样才能改变我的代码,以便它适用于一个内斯特d列表?嵌套元素在列表中的任何位置不是最后一个元素?
感谢任何帮助!
编辑:对不起,忘了指定它需要递归。
的可能重复[我怎样才能深深的搜索Python列表?(HTTP ://stackoverflow.com/questions/15292893/how-can-i-deep-search-a-python-list) – Nabla