Dictionary nach values sortieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
LausX

Hi Leute,

gibt es eine Möglichkeit ein Dictionary nach den values zu sortieren?

hier Bsp:
{'Ehe': 5, 'sieht': 1, 'selbst': 1, 'gerichtet': 2, 'ausschliesslich': 1, 'als': 9, 'Wellen': 1, 'Traenen': 2, 'einschlafen': 1}

soll sein

{'als': 9, 'Ehe': 5, 'gerichtet': 2, 'Traenen':2, 'ausschliesslich':1,
'einschlafen': 1, 'selbst': 1, 'sieht': 1, 'Wellen': 1}

MfG
LausX
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hallo!
LausX hat geschrieben:gibt es eine Möglichkeit ein Dictionary nach den values zu sortieren?
Nein, Dictionaries als solche kann man nicht sortieren. Nur Sequenzen sind sortierbar. Deswegen folgender Vorschlag:

Code: Alles auswählen

dic = {'Ehe': 5, 'sieht': 1, 'selbst': 1, 'gerichtet': 2, 'ausschliesslich': 1, 'als': 9, 'Wellen': 1, 'Traenen': 2, 'einschlafen': 1} 
liste = [(val,key) for key,val in dic.items()]
liste.sort()
liste.reverse()
print liste # Ausgabe: [(9, 'als'), (5, 'Ehe'), (2, 'gerichtet'), (2, 'Traenen'), (1, 'sieht'), (1, 'selbst'), (1, 'einschlafen'), (1, 'ausschliesslich'), (1, 'Wellen')]
Vielleicht hilft Dir das weiter.
Jan
Antworten