Dict min max Abfrage

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
gerald123
User
Beiträge: 36
Registriert: Donnerstag 10. September 2015, 12:10

Hey, köntte mir jemand folgendes Codefragment erklären? MIr ist klar, dass key bzw. value den größten Wert des dict. bzw. den entsprechenden key dazu liefern- ich denke ich verstehe auch das Konzept von Lamda-functions --> trotzdem ists mir nicht ganz klar.

Code: Alles auswählen

d["one"] = 12
d["two"] = 13
d["three"] = 14
key, value= max(d.iteritems(), key=lambda x:x[1])

und ebenfalls der Unterschied zu folgendem Code (wird verwendet, fals die Einträge von "d" gleich groß sind, da min und max nicht den gleichen Eintrag zurückgeben sollten.

Code: Alles auswählen

key, value= max(d.iteritems(), key=lambda x: (x[1], x[0]))
key1, value1= min(d.iteritems(), key=lambda x: (x[1], x[0]))
Vielen Dank.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Der `key` Parameter von `max` bzw `min` gibt die Funktion an, anhand der die Elemente verglichen werden.

Im ersten Fall vergleicht man die Werte anhand des Wertes und im zweiten Fall anhand des Tupels von Wert und Schluessel.
Schau am besten mal in die Dokumentation von `max` bzw `min`.
Antworten