Python Dictinary nach Werten ordnen

  • Themenstarter Gelöschtes Mitglied 29330
  • Beginndatum
G

Gelöschtes Mitglied 29330

Guest
Ich hab ein Dic was ungefähr so aussieht


Dic = { T1 : 5, T2 : 8, T3 : 4, T4 : 1}

Und dann soll in diesem Fall folgendes am Ende in der Konsole stehen:

print("T2")
print("T1")
print("T3")
print("T4")

Damit sowas rauskommt müsste ich das Dic doch nach Values ordnen aber dabei den Dateityp als Dictinary beibehalten?!

Wie bekomm ich das hin gibt es Funktion von Python für solche Fälle?
 
Du kannst ein Dictionary nicht sortieren.
Dafür ist es nicht gedacht.
Siehe PEP 265 -- Sorting Dictionaries by Value | Python.org .

Du kannst aber Listen sortieren und für deinen Anwendungsfall wäre das genau das Richtige.
Also transformiere dein Dictionary einfach in eine Liste von Tuples und fertig.

Python3
PHP:
sorted({('b', 2), ('a', 1), ('d', 4), ('c', 3)},key=lambda x: x[1])

Gruß
Fluffy
 
Zuletzt bearbeitet von einem Moderator:
Ja aber erzeuge ich damit nicht eine List die so aussieht?


D = { (T2, 8), (T1, 5),.....}

Und wenn ich dann
print[0]
Schreibe kommt doch als ausgabe

(T2, 8)

Ich will aber als ausgabe nur

T2


Gesendet von iPhone mit Tapatalk
 
PHP:
sorted(Dic.items(),key=lambda x: x[1])

Gern geschehen.

P.s.:
In Zukunft kann dir
Code:
python -c "help({})"

helfen.
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben