我们在 Python 中知道这一点
a= [1, 2]
b= [a, a]
print b
[[1, 2], [1, 2]]
a.append(3)
print b
[[1, 2, 3], [1, 2, 3]]
这是因为b
具有相同列表的引用a
并且在其中附加的东西a
也会发生变化b
。
我的问题是——这种行为的用途或优势是什么?
为什么 Python 通过引用分配列表值?
如果我做b =[a,a]
得很糟糕,这意味着我对价值观感兴趣,而a
不是对a
以后发生的事情感兴趣。
我们可以做到这一点
b=[a[:], a[:]]
#or
b=[a,a]
a=[]
但是为什么这不是python中的默认行为?为什么 Python 是这样设计的!!