回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>所以下面让我很困惑。</p>
<pre><code>#!/usr/bin/python
test = [0, 0, 0, 1, 2, 3, 4, 5, 6]
test1 = [0, 0, 0, 1, 2, 3, 4, 5, 6]
for _dummy in test:
if(_dummy == 0):
test.pop()
for _dummy in test1:
if(_dummy == 0):
test1.pop(0)
print test
print test1
</code></pre>
<p>结果</p>
<pre><code>ubuntu-vm:~/sandbox$ ./test.py
[0, 0, 0, 1, 2, 3]
[0, 1, 2, 3, 4, 5, 6]
</code></pre>
<p>也许,我从根本上误解了pop是如何实现的。但我的理解是,它删除列表中给定索引处的项,并返回它。如果未指定索引,则默认为最后一项。因此,在第一个循环中,它应该从列表左侧移除3个项,在第二个循环中,它应该从列表末尾移除3个项。</p>