说我有一个列表x = [1, 2, 3, 4, 5, 3, 4]
是否有任何递归方法可以仅使用条件a
和指令{{1来查找元素a = 3
(让我们说if not x:
)在列表中}}?
答案 0 :(得分:1)
定义一个类似的函数:
def search(lst, key):
if not lst: # base case: list is empty
return False
elif lst[0] == key: # base case: current element is searched element
return True
else: # recursive case: advance to next element in list
return search(lst[1:], key)
然后致电search(x, a)
更新:如果您想使用pop实现此功能,只需使用lst.pop()更改行lst [0]和lst [1:]
答案 1 :(得分:1)
def rec(lista, goal):
if not lista:
return False
return (goal==lista.pop() or rec(lista, goal))
答案 2 :(得分:0)
类似的东西:
def find(x,index):
if index == len(array):
return False;
if array[index] != x:
find(x,index + 1)
else:
return array.pop([index])
答案 3 :(得分:0)
使用以下内容:
def find(test_list,element):
try:
z=test_list.pop(0)
if element==z:
return True
return find(test_list,element)
except IndexError:
return False