我是编程和 Python 的新手。我遇到的问题是删除作为自定义类实例的列表元素。
import copy
class some_class:
pass
x = some_class()
x.attr1 = 5
y = some_class()
y.attr1 = 5
z = [x,y]
zcopy = copy.deepcopy(z)
z.remove(zcopy[0])
这将返回: ValueError: list.remove(x): x not in list
有没有一种简单的方法可以通过使用深度复制列表中的引用从列表中删除元素?
编辑:感谢您的回答。我找到了一些使用索引的解决方案。它不漂亮,但它可以完成工作:
import copy
class some_class:
pass
x = some_class()
x.attr1 = 5
y = some_class()
y.attr1 = 5
z = [x,y]
zcopy = copy.deepcopy(z)
del z[zcopy.index(zcopy[0])]