繁体   English   中英

为什么最后一个陈述是错误的? (edx)

[英]Why is the last statement false? (edx)

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不同(但如果a是二维列表,则内部元素将是相同的)

如果你这样做了:

a = [[1],[2],[3]]
b = a[:]
b is a
>>> False
b[0] is a[0] 
>>> True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM