所以...
a = [2,3,4,5]
for x in a:
x += 1
a = [2,3,4,5]
纳达。
但是如果我...
a[2] += 1
a = [2,3,5,5]
显然我的头脑无法理解这些基础知识。 print(x) 仅返回单元格内的整数,因此它应该为每个列表单元格自动添加一个整数。解决方案是什么,我没有掌握什么?
请您参考如下方法:
在这种情况下,您正在定义一个新变量 x,它依次引用 a 的每个元素。您不能修改 x 引用的 int,因为 int 在 Python 中是不可变的。当您使用 += 运算符时,会创建一个新的 int 并且 x 引用这个新的 int,而不是比 a 中的那个。如果您创建了一个包含 int 的 class,那么您可以按原样使用循环,因为此类的实例是可变的。 (这不是必需的,因为 Python 提供了更好的方法来做你想做的事)
for x in a:
x += 1
你想要做的是基于a生成一个新列表,并可能将其存储回a。
a = [x + 1 for x in a]
