假设我有一个名为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”]。
为什么列表和字符串在这种情况下表现不同?