Python, удалить элемент списка из метода класса - PullRequest
3 голосов
/ 17 марта 2020

У меня есть свой класс. Я хочу создать метод внутри, чтобы удалить элемент списка по атрибуту кода.

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)

Как создать метод, который удаляет отправляемый мной код?

С уважением

1 Ответ

1 голос
/ 17 марта 2020

Вы можете попробовать это ниже:

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)
...