python - 对 python 列表的所有元素应用模数并获得一些正确的一些不正确的元素

标签 python list loops

我正在实现一个函数,该函数以 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/

相关文章:

R Plotly在循环内添加跟踪

Python:跟踪文本文件中的当前列

python - 在 Python 中通过 Xlib 找出鼠标按钮状态

python - python中的列表赋值

c++ - 从 hash_map 中的列表中删除元素

java - list.add 覆盖以前的对象

python - 沿第三维查找 xarray DataArray 的最高值。

python - 我可以让 Anaconda 导航器查看 pypi 上的包吗?

python - Div文字,但排除一些标签文字

jquery - 循环内的 WordPress 循环无法正常工作