对 python 列表的所有元素应用模并得到一些正确的元素和一些不正确的元素

2024-02-03

我正在实现一个函数,该函数可以减少列表模 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]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对 python 列表的所有元素应用模并得到一些正确的元素和一些不正确的元素 的相关文章

随机推荐