擅长:python、mysql、java
<blockquote>
<p>Any reason a Python loop would stop iterating (without throwing
errors) before finishing all list elements?</p>
</blockquote>
<p>不,但是在您的特定示例中,您在迭代iterable <code>userLetters.remove(letter)</code>时更改它的大小<code>for letter in userLetters:</code></p>
<p>在Python中,行为定义得很好,因此在迭代时会跳过元素。在</p>
<p>或者,您应该创建正在迭代的iterable的副本<code>for letter in userLetters[:]:</code></p>