リスト内の数字/文字/単語のすべての出現を検索し、元のリストでそれらのインデックスを返すために再帰を使用する必要がある宿題があります。以前に回答した質問をこのサイトで検索しましたが、回答が見つかりませんでした。最初の出現が見つかった後でもリストのチェックを続行するオプションを使用した再帰について。
かなりこのように見えるはずです:
>>> 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]が表示されますが、分割されたリストの場合は、元のインデックスを取得できません。ありがとうございます。これがすでに存在する場合は、申し訳ありません。私は検索しましたが見つかりませんでした。