我有作業,其中我必須使用遞歸來查找列表中的數字/字母/單詞的所有出現並返回其原始列表中的索引。已經搜索這個網站的前面回答的問題,但我找不到關於與選擇繼續甚至第一occurances已經發現後檢查清單遞歸任何回答..Python - 劃分列表並維護原始索引(遞歸)
應該像這樣幾乎:
>>> 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] ...這是真實的,對於分割列表..這種方式我永遠不會得到原始索引.. 謝謝 - if這已經存在,我很抱歉,我已經搜索,找不到。
如果你處理Lisp中,你能明白我的回答的靈感。 –