【问题标题】:Why does a list get automatically updated with a value in Python?为什么列表会自动更新为 Python 中的值?
【发布时间】:2023-01-04 23:01:24
【问题描述】:
a=[]
l=[]
l=a
l.append('l3')
print('l=',l)
print('a=',a)

在这里,无论如何我都没有更新列表“a”的值。但是,列表“a”最后包含“l3”。这怎么可能? 输出: OUTPUT

【问题讨论】:

标签: python list


【解决方案1】:

当你写l=a时,这两个变量指向同一个python对象,所以如果你改变l,你也会改变a。如果删除l=a 行,则al 将是两个不同的列表,不会一起更改。

【讨论】:

    【解决方案2】:

    您看到的是“混叠”—— l=a 使 l 和 a 成为同一个对象,然后修改一个对象会修改另一个对象。另见:Python aliasing

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-22
      • 2018-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      相关资源
      最近更新 更多