Python 2.7 und später haben OrderedDict im collections
Modul, so dass Sie in Betracht ziehen sollten, dass 'Standard'. Wenn seine Funktionalität ausreichend ist, sollten Sie das wahrscheinlich verwenden.
Allerdings ist seine Implementierung Ansatz minimalistisch, und wenn das nicht genug ist, sollten Sie sich odict von Foord/Larossa oder ordereddict (von mir) ansehen, da in diesem Fall diese besser passen. Beide Implementierungen sind eine Obermenge der Funktionalität, die von collections.OrderedDict
bereitgestellt wird. Der Unterschied zwischen den beiden ist, dass odict
ist reines Python und ordereddict
ein viel schneller C
Erweiterungsmodul.
Ein minimalistischer Ansatz ist nicht unbedingt besser, auch wenn er alle Funktionen bietet, die Sie benötigen: z. collections.OrderedDict
hatte ursprünglich eine bug bei der Rückgabe der repr()
eines verschachtelt in einem seiner eigenen Werte. Ein Fehler, der früher gefunden werden konnte, hatte die Teilmenge, die die kleine Teilmenge OrderedDict verarbeiten kann, von Unitests des älteren ordereddict
verwendet worden.
-1: "Beste" ist nicht definiert. –