Python InfiniteDefaultRevisionDictionary, какие-нибудь реализации?Python

Программы на Python
Anonymous
Python InfiniteDefaultRevisionDictionary, какие-нибудь реализации?

Сообщение Anonymous »


В программировании определенные структуры данных на основе словарей очень полезны и важны. Например:
  • Словарь версии:
    Словарь версии — это подтип словаря, в котором ключи отсортированы в порядке последней модификации. . Он обычно используется при обработке кэша, который запоминает самые недавно использованные элементы.
  • Словарь по умолчанию:
    Словарь по умолчанию может возвращать элемент по умолчанию. когда к словарю обращаются с помощью ключа, которого нет в словаре. Он уже имеет реализацию в Collections.defaultdict.
  • Бесконечный словарь:
    Доступ к бесконечному словарю можно получить с помощью бесконечно слой вложенной рекурсии, т. е. бесконечная цепочка ключей, например, dct[person_name][пол], dct[company_name][employees], его можно использовать для создания динамических структур данных или даже для моделирования файлов. системные структуры.
Итак, мой вопрос заключается в следующем: возможно ли в Python написать словарь, в котором есть все 3 функции, то есть бесконечный словарь версий по умолчанию? В частности, при создании можно указать параметры, например, следует ли сортировать элементы в порядке вставки, порядке ключей или порядке редакций. И как это реализовать, если это возможно?
Было бы очень здорово, если бы в будущей версии Python был встроенный класс Dictionary, поддерживающий все эти функции и параметры.
Изменения:
Пункт 2 может не противоречить пункту 3, согласно которому в принципе InfiniteDefaultRevisionDictionary может иметь ключ по умолчанию, отличный от лямбда-выражения самого себя. Например, если ключ по умолчанию – 0, то:

Код: Выделить всё

dd=InfiniteDefaultRevisionDictionary(default=0, {})
print(dd['a']['b']['c']) # should give 0
dd['b']['c'][2] = [1, '2', 3.5] # should work fine


Источник: https://stackoverflow.com/questions/779 ... mentations

Вернуться в «Python»