Python 3 sortiert ein Diktat nach seinen Werten
Nur die Methoden, die ich gefunden habe funktionieren nur für python2-oder return-nur eine Liste von Tupeln.
Ist es möglich, die Art Wörterbuch, z.B. {"aa": 3, "bb": 4, "cc": 2, "dd": 1}
durch seine Werte?
Reihenfolge sortierte Wörterbuch, das ich erreichen möchte, ist von der größten bis zur kleinsten. So wollte das Ergebnis wird ähnlich sein:
bb 4
aa 3
cc 2
dd 1
Und nach der Sortierung werde ich, um es zu speichern in eine text-Datei.
InformationsquelleAutor der Frage | 2014-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
itemgetter
(siehe andere Antworten) ist (wie ich weiß) effizienter für große Wörterbücher, aber für den Allgemeinen Fall, ich glaube, dassd.get
gewinnt. Und es muss nicht ein extraimport
.Beachten Sie, dass alternativ können Sie
d.__getitem__
alskey
- Funktion, die Ihnen möglicherweise eine kleine Leistungssteigerung gegenüberd.get
.InformationsquelleAutor der Antwort SzieberthAdam
Drucke
Allerdings aus deinem letzten Satz, scheint es, dass eine Liste von Tupeln würde nur gut funktionieren, z.B.
dem Drucke
InformationsquelleAutor der Antwort Paul Draper
Sortieren Wörterbuch, konnten wir nutzen Bediener-Modul. Hier ist der operator, der Modul-Dokumentation.
Ausgabe-Reihenfolge wird eine sortierte Liste :
Wenn wir wollen, zu Sortieren, mit Bezug auf keys, die wir nutzen können
Ausgabe-Reihenfolge wird sein :
InformationsquelleAutor der Antwort Reck
Sortieren ein Wörterbuch aus, und halten Sie es funktioniert wie ein Wörterbuch hinterher, Sie könnte verwenden OrderedDict aus der standard-Bibliothek.
Wenn das ist nicht, was Sie brauchen, dann ermutige ich Sie zu überdenken, die Art von Funktionen, die verlassen werden Sie mit einer Liste von Tupeln. Welche Ausgabe hast du das willst, wenn nicht eine geordnete Liste von Schlüssel-Wert-Paare (Tupel)?
InformationsquelleAutor der Antwort Andrew Gorcester