Задать вопрос
@IzeBerg

Как реализовать «ленивый» dict?

Суть:
Есть класс, в нем хранятся и обрабатываются данные. Мне нужно реализовать формат строки типа:
'{key}'.format(data)
Но есть одно но: данные в классе в некоторых ситуациях могут долго обрабатываться и по этому сразу создавать нужный мне dict с нужными парами ключ-значение нельзя. По этому нужно что-нибудь типа property (?), чтобы данные вычислялись только при запросе (в данном случае - только если они нужны при форматировании).
Просто наследование dict и перезапись __getitem__ не дало результата.
Какие есть решения, используя только стандартный Python 2.7?
  • Вопрос задан
  • 153 просмотра
Подписаться 1 Оценить 5 комментариев
Пригласить эксперта
Ответы на вопрос 2
Diel
@Diel
Держать в классе словарь, где значением будут не обработанные данные, а кортеж/список с входными данными и {None или обработанными данными}. Потом написать простенький метод, который будет проверять что на втором месте: если None, делать обчисления и засунуть их вместо него. Потом просто вернуть результат
Ответ написан
Комментировать
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы