I am looking for a data structure that holds the same values under two different indexes, where I can access the data by either one.
Example:
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
Is there anything prerolled, or what is the best approach to roll my own (I need access via an index (number going from 0 to n in increments of 1), and via a string).
collections.ordereddict
does not seem to have fast random access via the position, as far as I see I can only walk it with the iterator until I reach element i
(I can insert in the right order).