擅长:python、mysql、java
<p>您正在删除正在迭代的列表,结果只删除了列表的一半,然后迭代在32个元素上停止(因为<code>expo</code>列表的长度是<code>64</code>,它的一半是<code>32</code></p>
<p>您有两种选择:</p>
<ul>
<li>迭代列表的副本并删除实际的列表。你知道吗</li>
</ul>
<pre><code>#Iterating on copy of expo
for i in expo[:]:
del expo[-1]
print(expo)
</code></pre>
<ul>
<li>使用<code>list.clear</code>一步清除列表,而不是for循环</li>
</ul>
<p>从文档:<a href="https://docs.python.org/3/tutorial/datastructures.html" rel="nofollow noreferrer">https://docs.python.org/3/tutorial/datastructures.html</a></p>
<blockquote>
<p>list.clear()<br/>
Remove all items from the list. Equivalent to del a[:].</p>
</blockquote>
<pre><code>expo.clear()
print(expo)
#[]
</code></pre>