Python,从类方法中删除列表项
我上课了。 我想在里面创建一个方法来按代码属性删除列表项Python,从类方法中删除列表项,python,list,magic-methods,Python,List,Magic Methods,我上课了。 我想在里面创建一个方法来按代码属性删除列表项 class MyClass(Base): def __init__(self, code, name): self.__code = code self.__name = name @property def code(self): return self.__code @property def name(self): return
class MyClass(Base):
def __init__(self, code, name):
self.__code = code
self.__name = name
@property
def code(self):
return self.__code
@property
def name(self):
return self.__name
@code.setter
def code(self, new_code):
self.__code=new_code
def __repr__(self):
x = f"Code: {self.__code} and Name:{self.__name}"
return(x)
def __deleteitem__(self, code):
print("The code: {self.__code} was deleted")
list=[]
list.append(MyClass(1234,"Aijio"))
list.append(MyClass(123,"Anodnd"))
list.append(MyClass(1236,"Jfifi"))
list.append(MyClass(1238,"Roberto"))
print(list)
lista.deleteitem(123)
如何创建一个删除我发送的代码的方法
关于您可以尝试以下方法:
class MyClass(Base):
def __init__(self, code, name):
self.__code = code
self.__name = name
@property
def code(self):
return self.__code
@property
def name(self):
return self.__name
@code.setter
def code(self, new_code):
self.__code=new_code
def __repr__(self):
x = f"Code: {self.__code} and Name:{self.__name}"
return(x)
def __deleteitem__(self, code):
# Logic for deletion
for obj in list:
if obj.code == code:
list.remove(obj)
print("The code: "+code+" was deleted")
list=[]
list.append(MyClass(1234,"Aijio"))
list.append(MyClass(123,"Anodnd"))
list.append(MyClass(1236,"Jfifi"))
list.append(MyClass(1238,"Roberto"))
myclass = MyClass(None, None)
myclass.__deleteitem__(123)
我想知道是否有帮助?从何处删除代码-从列表中删除?从列表中删除时,为什么该方法需要在类中?请尝试以下操作:
list=[item for item in list if item.code!=123]
没有\uuuuu deleteitem\uuu
特殊方法。你是说\uuu delitem\uuuu
可能吗?嗨,谢谢你的回答,你怎么能调用这个方法?你需要为你的类创建一个虚拟对象。我已经编辑了我的答案。这个代码有几个严重的问题。要从硬编码中删除的列表(!!)只是其中之一。