Sortierung ein Wörterbuch der Tupel in Python

Ich weiß, es gibt Tonnen von Fragen auf python-Listen/dictionaries schon, aber ich kann nicht scheinen zu finden, das hilft in meinem Fall, und ich bin auf der Suche nach der effizientesten Lösung, wie ich bin, zu Sortieren, ein ziemlich großer Datensatz.

Meine Daten grundsätzlich sieht wie folgt aus im moment:

a = {'a': (1, 2, 3), 'b': (3, 2, 1)}

Ich bin im Grunde erstellen Sie eine Wortliste, in die ich speichern jedes Wort zusammen mit einigen Statistiken über it - (n, Sigma(x), Sigma(x^2) )

Möchte ich es Sortieren basierend auf einem bestimmten stat. Bisher habe ich versucht, etwas entlang der Linien von:

b = a.items()
b.sort(key = itemgetter(1), reverse=True)

Ich bin mir nicht sicher, wie Sie Sie zu kontrollieren, welcher index es ist sortiert, basierend auf, wenn Ihr effektiv eine Liste von Tupeln von Tupeln? Ich denke, dass ich effektiv müssen nest zwei itemgetter Operationen, aber nicht wirklich sicher, wie dies zu tun.

Ob es einen besseren Daten-Struktur, die ich verwenden sollten, anstatt lassen Sie es mich bitte wissen. Sollte ich vielleicht helfen, eine kleine Klasse/struct, und verwenden Sie dann eine lambda-Funktion zum Zugriff auf einen member der Klasse?

Vielen Dank

InformationsquelleAutor Dave White | 2011-09-08
Schreibe einen Kommentar