Как добавить классу возможность получать значения в виде "my_class[2]"?
Вот таким образом:
arr = SparseArray()
arr[1] = 10
arr[8] = 20
Ответы (1 шт):
Автор решения: Mipsirint
→ Ссылка
В классах можно определять метод __getitem__
, который возвращает какое-либо значение, когда мы обращаемся к нему по индексу:
class SparseArray:
def __getitem__(self, key):
# если значение или тип ключа некорректны, list выбросит исключение
return self.values[key]
Почитайте про магические методы, там много всего полезного