Skip to main content
 首页 » 编程设计

python之掌握就地操作的基础知识

2025年05月04日13lautakyan007

所以...

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]