<p>我正在实现一个函数,它可以减少一个表模3的所有元素。以下是我所拥有的:</p>
<pre><code>def reduceMod3(l):
for i in l:
l[i] = l[i] % 3
return l
</code></pre>
<p>当我对L=[1,2,3,4,5,6,7,8,9]调用这个函数时,我得到:</p>
^{pr2}$
<p>为什么会这样?我在想办法,但我赶时间。谢谢。在</p>
<p>你的列表赋值被关闭,<code>l[i]</code>不是说'等于<code>i</code>的值',而是在列表<code>l</code>中的位置<code>i</code>。您也不希望在迭代列表时修改它。在</p>
<p>我想这是你想要的。创建传入列表的mod3项的新列表。在</p>
<pre><code>def reduceMod3(l):
return [i % 3 for i in l]
</code></pre>