回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个名为<code>vbn</code>的首字母<code>list</code>。我正在考虑一个函数,它在列表中的每个<code>0</code>之后添加<code>0</code></p>
<p>所以<code>vbn = [1,0,2,3,0,4,5,0]</code>变成<code>vbn = [1,0,0,2,3,0,0,4,5,0,0]</code></p>
<p>我使用了<code>for</code>循环和<code>.insert()</code>方法来实现这一点,并得到了下面的结果</p>
<pre><code>vbn = [1,0,2,3,0,4,5,0]
s = 0
for i,j in enumerate(vbn[s:]):
if j == 0:
vbn.insert(i+1,0)
s += i+2
print(vbn)
</code></pre>
<p>产出:</p>
<pre><code>[1, 0, 0, 2, 3, 0, 0, 4, 0, 5, 0]
</code></pre>
<p>根据我在代码中的理解,我的<code>for</code>循环语句中的<code>s</code>根本不受迭代的影响^不过,循环中的{<cd9>}会按预期发生变化</p>
<p>有人能解释一下为什么会这样吗?以及我如何解决这个问题</p>
<p>提前谢谢</p>