Структура данных для реализации словаря с несколькими индексами?

Я ищу структуру данных, которая содержит одинаковые значения под двумя разными индексами, где я могу получить доступ к данным с помощью либо , либо .

Пример:

x = mysticalDataStructure()
x.add(1,'karl', dog)
x.add(2,'lisa', cat)

$ x[1].age
2
$ x['karl'].age
2
$ x[1].age = 4
$ x['karl'].age
4

Есть ли что-то предварительно свернутое, или как лучше всего свернуть свое собственное (мне нужен доступ через индекс (число, идущее от 0 до n с шагом 1) и через строку).

collections.ordereddict, похоже, не имеет быстрого произвольного доступа через позицию, насколько я вижу, я могу пройти его только с помощью итератора, пока не достигну элемента i(я могу вставить в правильном порядке ).

11
задан martineau 26 September 2017 в 15:13
поделиться