у меня есть источник данных, который лучше всего смоделировать с помощью словаря (это набор пара ключ = значение ). Для конкретной цели визуализации мне нужно предоставить интерфейс доступа к данным в виде списка (в дополнение к обычному интерфейсу словаря), что означает, что вы должны иметь возможность делать следующее:
data["mykey"] # returns the associated value
data[12][0] # returns the 13th key in the dictionary
data[12][1] # returns the 13th value in the dictionary
Я не могу найти подходящую реализацию фасада - если я сохраню индексы в качестве словарного ключа:
data[12] = ("mykey", "myval")
Я могу легко решить последние два случая, но теряю возможность сделать первый. Если я сохраню данные типа
data["mykey"] = "myval"
Я должен перечислить все ключи и значения во временном списке, прежде чем я смогу вернуть элементы.
Обратите внимание, что все эти реализации предполагают, что я использую OrderedDict
.
Как бы вы предоставили оба интерфейса?
Если вам интересно, это для создания PyQt QAbstractTableModel
, где нижний Контейнер данных ying - это словарь.
Спасибо.