Skip to main content
 首页 » 编程设计

python之如何通过引用删除对象

2025年05月04日11shihaiming

我正在尝试编写一些代码以如下方式操作列表:

>>> a = [[0,0],[0,1],[0,2]] 
>>> b = a[1] 
>>> b[1] = 3 
>>> a 
[[0,0],[0,3],[0,2]] 
>>> # So far so good 
>>> del b 
>>> a 
[[0,0],[0,3],[0,2]] 
>>> # Huh. 

如何使用指向该项目的变量从列表中删除该项目?

编辑:

好吧,看来这个操作在 Python 中是不可能的,考虑到它与 Python 式的遍历列表的方式相似,这似乎是一种耻辱。 C 中的等效操作通过指针可以非常简单地完成。关闭此问题而不分配正确答案。

请您参考如下方法:

不,你不能那样做。

del 只是从实例对象中解除 var 名称的绑定(bind)。如果你想按索引删除列表中的元素,请使用 pop(index):

In [46]: a=range(4) 
 
In [47]: a.pop(2) 
Out[47]: 2 
 
In [48]: a 
Out[48]: [0, 1, 3] 

或del a[index]:

In [50]: del a[2] #this time it deletes "3" in list "a" 
 
In [51]: a 
Out[51]: [0, 1]