pylint-errors

E1138 (unsupported-delete-operation)

:x: Problematic code:

class Foo:
    def __init__(self, numbers):
        self.numbers = numbers

foo = Foo([1, 2, 3])
del foo[0]
print(foo.numbers)

:heavy_check_mark: Correct code:

class Foo:
    def __init__(self, numbers):
        self.numbers = numbers

    def __delitem__(self, index):
        self.numbers.pop(index)

foo = Foo([1, 2, 3])
del foo[0]
print(foo.numbers)

Rationale:

Emitted when an object does not support item deletion (i.e. doesn’t define __delitem__ method).