Was bedeutet das: key=lambda x: x[1] ?
Sehe ich es verwendet bei der Sortierung, aber was tun die einzelnen Komponenten dieser Linie des Codes eigentlich bedeuten?
key=lambda x: x[1]
Was lambda
, was ist x:
, warum [1]
im x[1]
etc...
Beispiele
max(gs_clf.grid_scores_, key=lambda x: x[1])
sort(mylist, key=lambda x: x[1])
Ehi! Das ist meine Antwort auf eine andere Frage über 1h her! 😀
InformationsquelleAutor Nyxynyx | 2013-04-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
lambda
schafft effektiv eine inline-Funktion. Zum Beispiel, können Sie schreiben Sie dieses Beispiel:Verwendung einer benannten Funktion:
In diesem Fall
max()
wird das element zurückgegeben werden in das array, dessen zweites element (x[1]
) ist größer als die aller anderen Elemente, die " zweite Elemente. Eine andere Art zu phrasieren ist es, als der Aufruf der Funktion impliziert: Rückkehr der max-element, mitx[1]
als Schlüssel.InformationsquelleAutor cdhowie
lambda
bedeutet eine anonyme Funktion. In diesem Fall, diese Funktion nimmt das einzige argumentx
und zurückx[1]
(also das Element an index 1 inx
).Nun
sort(mylist, key=lambda x: x[1])
Artenmylist
basierend auf dem Wert vonkey
angewandt auf jedes element der Liste. Ebensomax(gs_clf.grid_scores_, key=lambda x: x[1])
gibt den Maximalwert der vongs_clf.grid_scores_
mit Bezug auf was auch immer zurückkey
für jedes element.Sollte ich auch darauf hinweisen, dass diese Besondere Funktion ist bereits enthalten in einer der Bibliotheken:
operator
. Insbesondereoperator.itemgetter(1)
gleich zu Ihremkey
.InformationsquelleAutor arshajii
Dies ist die Funktion.
Und hier x ist die Liste, in die wir hinzufügen
x[1]
ich.e 2. element der Liste, um die Funktion Sortieren. Also, im Grunde sind wir das hinzufügen jede Liste ist 2. element (ich.e x[1]), um die Funktion Sortieren.Ich hoffe, Ihr versteht das.
InformationsquelleAutor Preeti
Vom Referenz für Python 3.7 (https://docs.python.org/3/howto/sorting.html), Der Schlüssel ist ein parameter, der
list.sort()
undsorted()
. Der erste built-in-Funktion erweitert eine Liste in Platz, während die letzteren akzeptiert und zurück durchsuchbar.Den key-parameter kann definiert werden als eine Funktion, die aufgerufen werden, auf jedes element der Liste/iterierbar vor einem Vergleich und zu Sortieren, beziehungsweise. In diesem Fall werden die inline-Funktion
lambda x: x[1]
ist definiert als Wert der key-parameter. Die lambda-Funktion nimmt die Eingabe x return x[1] ist das zweite element von x ist.Soll
Können Sie erraten, was das Ergebnis? mylistSort ist dann [[1,2,3], [2,5,6], [7,8]] aus der sortierten Sequenz der [8,2,5] [2,5,8].
Den
max()
in deinem Beispiel wird angewandt, um eben den max-Wert aus dem Ergebnis der Funktion Sortieren.Ich hoffe dieser Beitrag ist hilfreich.
InformationsquelleAutor WANNISA RITMAHAN