xuexiXX 发表于 2021-3-20 09:51:36

del??

问个问题
python中 del 删除数据是什么原则
为什么
a=b=
del a
b的输出也是[1,3,4,5】

考不好不改名 发表于 2021-3-20 09:53:35

变量a、b指向的是同一个列表

考不好不改名 发表于 2021-3-20 09:55:16

这就是为什么列表会有copy方法了

a =
b = a.copy()
del a这些代码中变量a、b指向的不是同一个列表

逃兵 发表于 2021-3-20 09:59:33

这跟del关系不大

主要是赋值时,使用的是 a = b = 的形式

此时a和b指向的是同一个列表,他们共享同一个id

此时修改任意列表,都会引发另外一个发生改变

>>> a = b =
>>> id(a)
49830920
>>> id(b)
49830920
>>> a = 0
>>> b


这里需要修改一下代码,避免这样的事情发生

a=
b = a[:]
del a
print(a)
print(b)

xuexiXX 发表于 2021-3-21 14:12:36

逃兵 发表于 2021-3-20 09:59
这跟del关系不大

主要是赋值时,使用的是 a = b = 的形式


okk 谢谢
页: [1]
查看完整版本: del??