我正在实现一个函数,该函数以 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] 上调用这个函数时,我得到:
L = [1, 2, 0, 4, 2, 6, 1, 8, 0]
这是为什么?我想弄清楚,但我很着急。谢谢。
最佳答案
当您编写 for i in l
时,您正在访问列表的每个元素,而不是索引。相反,你应该写
for i in range(len(l)):
你也可以用列表理解来解决这个问题:
return [item % 3 for item in l]
关于python - 对 python 列表的所有元素应用模数并获得一些正确的一些不正确的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39865185/