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/