Wie sortiere ich eine Liste/ein Tupel von Listen/Tupeln nach dem Element an einem bestimmten Index?
Sie können die sorted()
-Funktion mit dem key
-Parameter verwenden, um eine Funktion anzugeben, die das Element an der gewünschten Stelle extrahiert.
Hier ist ein Beispiel, wie man eine Liste von Tupeln nach dem zweiten Element jedes Tupels sortiert:
my_list = [(1, 3), (4, 2), (3, 1)]
sorted_list = sorted(my_list, key=lambda x: x[1])
print(sorted_list) # [(3, 1), (4, 2), (1, 3)]
Sie können auch die itemgetter()
-Funktion aus dem operator
-Modul als Schlüssel zum Sortieren verwenden, es ist effizienter als die Lambda-Funktion
from operator import itemgetter
my_list = [(1, 3), (4, 2), (3, 1)]
sorted_list = sorted(my_list, key=itemgetter(1))
print(sorted_list) # [(3, 1), (4, 2), (1, 3)]
Beachten Sie, dass die obigen Beispiele die Liste in aufsteigender Reihenfolge sortieren. Um in absteigender Reihenfolge zu sortieren, geben Sie reverse=True
als Parameter an die sorted()
-Funktion weiter.