Python:列表在for循环后不发生变化

标签 python

a =[1,2]
for entry in a:
    entry = entry + 1
print a  

列表不应该改为[2,3]吗?结果显示为 [1,2]。 为什么?

最佳答案

要修改原始列表,您可以这样做:

a =[1,2]
for x in range(len(a)):
    a[x] = a[x] + 1

print a

或者您可以将 for 循环更改为这样的“oneliner”:

a =[1,2]
a = [x + 1 for x in a]
print a

任一方法的输出:

[2, 3]

这两种方法的区别在于第一种方法修改列表,而第二种方法创建新列表。

关于Python:列表在for循环后不发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35874023/

相关文章:

python - Python3 中类内部的命名空间

python - 等效于 Python OpenCv 的 MATLAB imshow(I,[ ]);

python - 如何在不使用浏览器的情况下使用 Python 打开 URL?

python - 子集 Pandas 数据框

python - 将代码包装在函数中

python - 使用 ARMA 的统计模型

python - Django 列表按日期排序

python - 网络浏览器何时发送 If-Modified-Since?

带有编号参数名称的 Python argparse

python 子进程在正在运行的子进程中插入命令