OrderedDict vs defaultdict vs dict

In python-Bibliothek, jetzt haben wir zwei Python-Implementierung von Wörterbüchern, die Unterklassen dict über die native dict geben.

Python-Befürworter haben es immer vorgezogen defaultdict über die Verwendung dict.setdefault wo es möglich ist. Auch die doc Zitate, die This technique is simpler and faster than an equivalent technique using dict.setdefault():

In ähnlicher Weise, wie die Wörterbücher nicht die Aufrechterhaltung der Ordnung, mit OrderedDict über die Verwendung dict gefolgt vom Sortieren der Elemente ist bevorzugt, wenn immer möglich, für die alternative Nutzung.

In der obige Fall, der code ist definitiv sauberer, aber auf Kosten von Einbußen bei der Leistung.

Während der Beantwortung und Kommentierung auf eine Frage python eindeutige Liste basiert auf Elementich stolperte über die performance-Einbußen über die native dict bei der Verwendung defaultdict und OrderedDict. Es scheint auch die Größe der Daten ist auch nicht unerheblich für die performance-Vorteil dict Lösung hat gegenüber anderen.

Ich glaube There should be one-- and preferably only one --obvious way to do it.so was ist der bevorzugte Weg?

InformationsquelleAutor der Frage Abhijit | 2013-10-28

Schreibe einen Kommentar