为什么从其他变量创建时,字符串和列表变量的行为会有所不同?

时间:2015-12-08 19:17:07

标签: python

假设我有一个名为s1的字符串,并创建一个名为s2的新字符串,它等于s1。当我对s2进行任何更改时,s1保持不受影响。

但是,我发现列表不是这种情况。如果我从预先存在的列表l1创建新列表l2,并更改为l2,则l1也会更改。

为什么会这样?

以下是一些示例代码,以防上面我不清楚。

s1 = "hello"
s2 = s1

s2 += " from the other side"

print (s1)
print (s2)

这将打印“hello”和“hello from the another”。但是,当我们使用列表执行类似操作时:

l1 = ["Hello"]
l2 = l1

l2 += ["from the other side"]

print(l1)
print(l2)

它为BOTH l1和l2打印[“hello”,“from the another side”]。

为什么列表和字符串在这种情况下表现不同?

0 个答案:

没有答案