Suche nach max-Wert in der zweiten Spalte wird eine verschachtelte Liste?
Habe ich eine Liste wie diese:
alkaline_earth_values = [['beryllium', 4], ['magnesium', 12],['calcium', 20],
['strontium', 38], ['barium', 56], ['radium', 88]]
Wenn ich einfach die max(list)
Methode, wird es wieder die Antwort 'strontium'
, das wäre richtig, wenn ich war auf der Suche nach der max Namen, aber ich versuche, das element zurückgegeben, deren ganze Zahl ist am höchsten.
- Die Antworten hier sind ganz gut, aber es kann auch sein, lohnt sich eine ähnliche Frage, die geschlossen wurde, als ein Duplikat von diesem einen, aber dennoch hat einige nützliche Antworten, dass sind nicht die gleichen wie diese.
max(alkaline_earth_values)
tatsächlich gibt['strontium', 38]
, so gibt es Sie sowohl der name und Wert-paar mit dem maximalen Wert.
InformationsquelleAutor davelupt | 2011-01-26
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Grund, warum dies funktioniert, weil die Schlüssel argument der max - Funktion gibt eine Funktion, die aufgerufen wird, wenn max will wissen, den Wert, der maximale element gesucht wird. max wird rufe diese Funktion für jedes element in der Sequenz. Und
lambda x: x[1]
erstellt eine kleine Funktion, die in einer Liste und gibt den ersten (gezählt wird ab null) element. Soist die gleiche wie zu sagen,
aber kürzer und schön zu verwenden in Situationen wie dieser.
Verwenden Sie die
key
argument.ist es eher schwierig, zu vermuten, dass ein Element in einer Liste ist eigentlich noch eine Nummer. Wenn Sie die zahlen haben, werden strings, die
max()
zurückkehren wird, der 'Wert' mit die höchste erste Zahl:zurück
['beryllium', '9']
wird den trick tun, wenn Sie sicher sind, es wird eine Anzahl
Hoher Geschwindigkeit betrachten, pandas oder numpy: