首页 > 解决方案 > 理解 python 列表的问题

问题描述

eg.a

x = 10
y = x
x = 10 + 2
a = x

print(x)
print(y)
print(a)

这给出了输出: 12 , 10 , 12
我明白了。

a = ['a', 'b', 'c', 'd']
x = a
a.insert(1, 'x')
print(x)

给出 ['a', 'x', 'b', 'c', 'd']

我不明白的是,这应该给出 ['a', 'b', 'c', 'd'] 因为我在将字符 x 插入到列表 a 的第一个索引之前打印了 x=a 的值。就像在 eg.a 中一样,列表不遵循这些步骤。为什么?

标签: python-3.x

解决方案


这是因为您正在分配 x=a。这里x指的是a的数据位置地址,不是复制数据。所以,当发生变化时,它就会被更新。以及 x 指的是相同的位置。所以,你得到了这个结果。


推荐阅读