私はプログラミングの学生で、私は最近Pythonで作業を始めました。私は非常に異なったアプローチをしているラケットを学び始めました。 for文と組み合わせて再帰を使用しようとしているうちに、 "IndexError:リストの範囲外のリストを表示"しました。私は、非常に高く評価されるだろう range(len(l) - 1)
ヘルプの間に少なくともいない、再帰時に私の機能が低下し、リストを取らないと考え、事前にあなたに感謝"IndexError:リストのインデックスが範囲外です"リストで再帰を使用しているとき
def search_matching_pokemon(p, l):
lp = []
for i in range(len(l) - 1):
if p[-1] == l[i][0]:
print ('Found one')
poke = l.pop(i)
lp = lp + [poke]
print (f'List is now {lp}')
search_matching_pokemon(poke, l) #problem with the range
else:
print ('Trying a different pokémon')
return lp
:これは私のコードです。
ここで再帰を使用する理由は本当にありません。入力例は何ですか? – roganjosh
反復処理中のリストから項目を削除しています。その結果、観測されたIndexErrorが発生します。 –