<p>我是一名编程专业的学生,最近刚开始使用Python。我从学习Rackett开始,它有一个非常不同的方法。在尝试将递归与for语句结合使用时,我遇到了“IndexError:list index out out-range”。这是我的代码:</p>
<pre><code>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
</code></pre>
<p>我认为我的函数在递归时不会使用reduced list,至少在
<code>range(len(l) - 1)</code>
非常感谢您的帮助,谢谢。在</p>