In Python ist das Äquivalent einer hashmap ein Dict
(tatsächlich sind die meisten Implementierungen von Dict
hashmaps). Um die bestellungsübergreifende Implementierung zu gewährleisten, sollten Sie eine OrderedDict
verwenden. A List
entspricht einem Vektor. Was Sie also wollen, ist ein OrderedDict
von Lists
.
from collections import OrderedDict
// Create the dictionary
d = {'A1': [1, 2], 'B2': [2, 3]}
// Order it by key
m = OrderedDict(sorted(d.items(), key=lambda t: t[0]))
// Example of appending to one of the lists
m['A1'].append(3)
print(m)
Dies drucken:
m["B2"] = [2, 3, 5, 7]
Sie werden dann die OrderedDict
müssen neu sortieren:
OrderedDict([('A1', [1, 2, 3]), ('B2', [2, 3])])
Sie auch zusätzliche Tasten enthält Listen wie diese hinzufügen können.
Eine Nebennotiz: Dicts
in Python sind nicht bestellt; Sie werden in sehr neuen Versionen von CPython 3 bestellt, aber das ist ein Implementierungsdetail. Daher ist die am besten geeignete Datenstruktur hier, um sicherzustellen, dass Ihr Code portabel ist. Ich erwähne dies, weil viele Leute von dieser Funktion von CPython begeistert sind, aber es ist nicht garantiert, dass sie überall funktioniert.