【发布时间】:2026-02-11 10:55:02
【问题描述】:
这就是我的意思:
x = [1, 2, 3]
y = x
y = y + [4]
据我了解,变量y指向变量x,该变量存储了列表对象[1,2,3]。在第二行代码中,x 和 y 都存储了相同的 id。在最后一行代码中,我们更改了变量y 存储的内容。将列表[4] 添加到 y 会创建一个包含 4 的 int 对象的新列表对象吗?我很确定 x 和 y 仍然指向同一个 id,因为列表是可变的,我只需要在 [4] 上进行确认。是否创建了新的列表和 int 对象?
【问题讨论】:
-
列表不是不可变的。
tuples 是。但这与您在此处列出的特定代码的行为无关。 -
你用过赋值运算符吗?
y is x说什么? -
哎呀,是的!我的错!
-
是的,这是否意味着创建了一个新的 int 对象来存储数字 4?它会说 True,所以 x 和 y 都将指向列表 [1, 2, 3, 4]。
标签: python list memory mutable