2024-06-16 11:15:48 发布
网友
我正在实现一个函数,它可以减少一个表模3的所有元素。以下是我所拥有的:
def reduceMod3(l): for i in l: l[i] = l[i] % 3 return l
当我对L=[1,2,3,4,5,6,7,8,9]调用这个函数时,我得到:
为什么会这样?我在想办法,但我赶时间。谢谢。在
当您编写for i in l时,您访问的是列表的每个元素,而不是索引。相反,你应该写信
for i in l
for i in range(len(l)):
您也可以通过列表理解来解决此问题:
你的列表赋值被关闭,l[i]不是说'等于i的值',而是在列表l中的位置i。您也不希望在迭代列表时修改它。在
l[i]
i
l
我想这是你想要的。创建传入列表的mod3项的新列表。在
def reduceMod3(l): return [i % 3 for i in l]
当您编写
for i in l
时,您访问的是列表的每个元素,而不是索引。相反,你应该写信您也可以通过列表理解来解决此问题:
^{pr2}$你的列表赋值被关闭,
l[i]
不是说'等于i
的值',而是在列表l
中的位置i
。您也不希望在迭代列表时修改它。在我想这是你想要的。创建传入列表的mod3项的新列表。在
相关问题 更多 >
编程相关推荐