給定一個嵌套列表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