我有作业,我必须使用递归来查找列表中所有出现的数字/字母/单词,并在原始列表中返回它们的索引。我已经在这个网站上搜索了以前回答的问题,但我找不到任何答案关于递归,即使在找到第一次出现后也可以继续检查列表。
应该看起来像这样:
>>> find_value( [4,7,5,3,2,5,3,7,8,6,5,6], 5)
[2,5,10]
到目前为止,我的代码是这样的:
def find_all(x,y):
if len(x) == 1 and x[0] == y:
return [i for i, y in enumerate(x)]
return find_all(x[1:],y)
虽然它只会最小化列表并给我与索引相同的 [0] .. 这是真的,对于划分的列表.. 这样我就永远不会得到原始索引.. 谢谢 - 如果这已经存在,我很抱歉因为我已经搜索过,但找不到。