Seite 1 von 1

Dictionary nach values sortieren

Verfasst: Sonntag 30. November 2003, 02:14
von 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

Re: Dictionary nach values sortieren

Verfasst: Sonntag 30. November 2003, 11:44
von Voges
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