首页新闻找找看学习计划

列表a被清空后,另一个也被清空了。

0
[已关闭问题] 关闭于 2018-09-12 18:07
a = [1,2,3]
b = []

b=a
a.clear()

a 清空后,b也空了。

为什么

还没有的主页 还没有 | 菜鸟二级 | 园豆:475
提问于:2018-09-12 17:27
< >
分享
所有回答(4)
0

clear清除的是地址

心悠魂然 | 园豆:2080 (老鸟四级) | 2018-09-12 17:55
0

 [ 自己解决 ]

还没有 | 园豆:475 (菜鸟二级) | 2018-09-12 18:06
0

这是因为,在python中一切皆对象,a,b两个变量其实绑定的是同一个对象,也就是说a,b两个变量指向内存中的同一段地址,当调用clear函数时,会清空列表在内存中的内容,此时列表就变成了一个空列表,所以变量a,变量b就指向了一个空列表。

追着光梦游 | 园豆:202 (菜鸟二级) | 2018-09-19 19:01
0

a,b共用一个内存地址,清除谁都为空,你可以看看深浅拷贝内容

dalyday | 园豆:202 (菜鸟二级) | 2018-11-22 21:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册