2D-Array sortieren in Python
-
2D-Array nach Spaltennummer sortieren mit der
sort()
-Funktion in Python -
2D-Array nach Spaltennummer sortieren mit der
sorted()
-Funktion in Python
Wir werden verschiedene Methoden zum Sortieren mehrdimensionaler Arrays in Python vorstellen.
Es gibt eingebaute Funktionen wie sort()
und sorted()
für die Sortierung von Arrays; Diese Funktionen ermöglichen es uns auch, einen bestimmten Schlüssel zu verwenden, mit dem wir definieren können, welche Spalte sortiert werden soll, wenn wir möchten.
Die Methode sort()
modifiziert die Liste an Ort und Stelle, und eine eingebaute Funktion sorted()
erstellt eine neue sortierte Liste aus einer Iterable. Wir werden uns auch die verschiedenen Methoden ansehen, um iterable für die Funktionen sort()
und sorted()
zu definieren.
2D-Array nach Spaltennummer sortieren mit der sort()
-Funktion in Python
Um das Array nach Spaltennummer zu sortieren, müssen wir den key
in der Funktion sort()
definieren, wie z.
lst = [["John", 5], ["Jim", 9], ["Jason", 0]]
lst.sort(key=lambda x: x[1])
print(lst)
Ausgabe:
[['Jason', 0], ['John', 5], ['Jim', 9]]
Aus Sortiergründen sollte der Parameter key
auf den Wert einer Funktion gesetzt werden, die ein einzelnes Argument akzeptiert und einen key
zurückgibt, der im Sortierprozess verwendet werden kann. Diese Strategie lässt sich schnell durchführen, da die Schlüsselfunktion nur einmal für jeden Eingabedatensatz aufgerufen wird.
Ein häufig verwendetes Muster besteht darin, komplexe Objekte unter Verwendung eines oder mehrerer Objektindizes als Schlüssel zu sortieren.
lst = [
("john", "C", 15),
("jane", "A", 12),
("dave", "D", 10),
]
lst.sort(key=lambda lst: lst[2])
print(lst)
Ausgabe:
[('dave', 'D', 10), ('jane', 'A', 12), ('john', 'C', 15)]
Im obigen Code bei key=lambda lst:lst[2]
definiert lst[2]
, welche Spalte für die Sortierbasis verwendet werden soll. In unserem Fall wird lst
nach der dritten Spalte sortiert.
2D-Array nach Spaltennummer sortieren mit der sorted()
-Funktion in Python
Um das Array nach Spaltennummer zu sortieren, müssen wir den key
in der Funktion sorted()
definieren, wie z.
li = [["John", 5], ["Jim", 9], ["Jason", 0]]
sorted_li = sorted(li, key=lambda x: x[1])
print(sorted_li)
Ausgabe:
[['Jason', 0], ['John', 5], ['Jim', 9]]
Beachten Sie, dass die Funktion sorted()
eine neue Liste im vorhergehenden Code zurückgibt, während die Funktion sort()
die ursprüngliche Liste ersetzt.
Alternativ kann der key
auch mit itemgetter
aus der Bibliothek operator
definiert werden.
from operator import itemgetter
lst = [
("john", "C", 15),
("jane", "A", 12),
("dave", "D", 10),
]
sorted_lst = sorted(lst, key=itemgetter(1))
print(sorted_lst)
Ausgabe:
[('jane', 'A', 12), ('john', 'C', 15), ('dave', 'D', 10)]
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn