问题描述
a = [1,2,3]
b = a
a == b
True
a is b
True
b = a[:]
a == b
True
a is b
False
为什么最后一句是假的? "b = a[:]" 这一行和另一行有什么区别?
解决方法
a[:]
对 a
进行浅拷贝,这意味着 b
是一个新列表并且与 a
不同(但内部元素如果 {{1} } 是一个 2d 列表将是相同的)
如果你这样做了:
a
a = [1,2,3]
b = a
a == b
True
a is b
True
b = a[:]
a == b
True
a is b
False
为什么最后一句是假的? "b = a[:]" 这一行和另一行有什么区别?
a[:]
对 a
进行浅拷贝,这意味着 b
是一个新列表并且与 a
不同(但内部元素如果 {{1} } 是一个 2d 列表将是相同的)
如果你这样做了:
a