Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich eine Liste von Zeichenfolgen basierend auf entsprechenden Ganzzahlwerten in einer anderen Liste?
Gegeben zwei Listen, X mit Zeichenfolgen und Y mit Ganzzahlen, möchten Sie X nach den entsprechenden Werten in sortieren Y unter Beibehaltung der ursprünglichen Reihenfolge der Elemente mit demselben „Schlüssel“-Wert. Entdecken Sie die folgende optimierte Lösung mit den integrierten Funktionen von Python:
[x für _, x in sortiert(zip(Y, X))]
Beispiel:
X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1] Z = [x for _,x in sorted(zip(Y,X))] print(Z) # ["a", "d", "h", "b", "c", "e", "i", "f", "g"]
Erklärung:
Weitere Erläuterung:
Mit der Funktion sorted() können Sie eine Schlüsselfunktion angeben, die die Sortierkriterien bestimmt. In diesem Fall verwenden wir key=lambdapair:pair[0], um die Tupel nach ihrem ersten Element zu sortieren. Dadurch wird X effektiv nach den entsprechenden Werten in Y sortiert.
Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Liste von Zeichenfolgen basierend auf entsprechenden Ganzzahlwerten in einer anderen Liste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!