Sortieren einer Liste von Listen in Python

Samyak Jain 10 Oktober 2023
  1. Verwenden Sie die Funktion itemgetter() aus dem Operator-Modul zusammen mit der Funktion sorted(), um eine Liste von Listen in Python zu sortieren
  2. Verwenden Sie den Ausdruck lambda zusammen mit der Funktion sorted(), um eine Liste von Listen in Python zu sortieren
  3. Verwenden Sie die Funktion sort(), um eine Liste von Listen in Python zu sortieren
Sortieren einer Liste von Listen in Python

Eine Liste ist eine der mächtigsten Datenstrukturen, die in Python verwendet werden. Wir können eine Liste in Python sortieren, indem wir alle ihre Elemente je nach Anforderung in aufsteigender oder absteigender Reihenfolge anordnen.

Wir können auch verschachtelte Listen in Python haben. Diese kann man sich als Liste von Listen vorstellen. Das Sortieren einer Liste von Listen ordnet alle inneren Listen nach dem angegebenen Index als Schlüssel.

In diesem Tutorial werden wir eine Liste von Listen in Python basierend auf einigen Indizes sortieren.

Verwenden Sie die Funktion itemgetter() aus dem Operator-Modul zusammen mit der Funktion sorted(), um eine Liste von Listen in Python zu sortieren

Die Funktion sorted() wird verwendet, um eine Liste in Python zu sortieren. Standardmäßig sortiert es die Liste in aufsteigender Reihenfolge. Die Funktion itemgetter() des Operator-Moduls nimmt eine Indexnummer als Parameter und gibt das Element aus dem Datensatz an dieser Indexnummer zurück.

Daher sortiert die Funktion sorted(List_name, key=itemgetter(index_number)) eine Liste von Listen nach dem Element, das an der angegebenen index_number jeder inneren Liste positioniert ist.

Beispielsweise,

from operator import itemgetter

A = [[10, 8], [90, 2], [45, 6]]
print("Sorted List A based on index 0: % s" % (sorted(A, key=itemgetter(0))))
B = [[50, "Yes"], [20, "No"], [100, "Maybe"]]
print("Sorted List B based on index 1: % s" % (sorted(B, key=itemgetter(1))))

Ausgabe:

Sorted List A based on index 0: [[10, 8], [45, 6], [90, 2]]
Sorted List B based on index 1: [[100, 'Maybe'], [20, 'No'], [50, 'Yes']]

Um eine Liste von Listen in absteigender Reihenfolge zu sortieren, wird der Parameter reverse zusammen mit dem Parameter key und dem Listennamen in der Funktion sorted() verwendet.

Beispielsweise,

from operator import itemgetter

C = [[10, 8, "Cat"], [90, 2, "Dog"], [45, 6, "Bird"]]
print(
    "Reversed sorted List C based on index 1: % s"
    % (sorted(C, key=itemgetter(1), reverse=True))
)

Ausgabe:

Reverse sorted List C based on index 1: [[10, 8, 'Cat'], [45, 6, 'Bird'], [90, 2, 'Dog']]

Verwenden Sie den Ausdruck lambda zusammen mit der Funktion sorted(), um eine Liste von Listen in Python zu sortieren

Die lambda-Ausdrücke sind einfache einzeilige Funktionen in Python.

Die Funktion sorted(List_name, key=lambda x:x[index_number]) wird verwendet, um eine Liste von Listen nach dem Element zu sortieren, das an der angegebenen index_number jeder inneren Liste positioniert ist.

Beispielsweise,

A = [[100, "Yes"], [40, "Maybe"], [60, "No"]]
print("Sorted List A based on index 0: % s" % (sorted(A, key=lambda x: x[0])))
B = [[2, "Dog"], [0, "Bird"], [7, "Cat"]]
print("Sorted List A based on index 1: % s" % (sorted(B, key=lambda x: x[1])))

Ausgabe:

Sorted List A based on index 0: [[40, 'Maybe'], [60, 'No'], [100, 'Yes']]
Sorted List B based on index 1: [[0, 'Bird'], [7, 'Cat'], [2, 'Dog']]

Ebenso können wir den Parameter reverse verwenden, um die Ausgabe in absteigender Reihenfolge zu erhalten.

Beispielsweise,

C = [[60, 5], [90, 7], [30, 10]]
print(
    "Reversed sorted List C based on index 0: % s"
    % (sorted(C, key=lambda x: x[0], reverse=True))
)

Ausgabe:

Reversed sorted List C based on index 0: [[90, 7], [60, 5], [30, 10]]

Verwenden Sie die Funktion sort(), um eine Liste von Listen in Python zu sortieren

Die Methode sort() sortiert die Liste der Listen in Python nach dem ersten Element jeder inneren Liste. Diese Methode nimmt Änderungen in der ursprünglichen Liste selbst vor. Mit dem Parameter reverse sortieren wir absteigend.

Beispielsweise,

A = [[55, 90], [45, 89], [90, 70]]
A.sort()
print("New sorted list A is % s" % (A))
A.sort(reverse=True)
print("New reverse sorted list A is % s" % (A))

Ausgabe:

New sorted list A is [[45, 89], [55, 90], [90, 70]]
New reverse sorted list A is [[90, 70], [55, 90], [45, 89]]

Um die gegebene Liste nach der Länge der inneren Listen zu sortieren, wird der Parameter key=len verwendet.

Beispielsweise,

A = [[5, 90, "Hi", 66], [80, 99], [56, 32, 80]]
A.sort(key=len)
print("New sorted list A is % s" % (A))

Ausgabe:

New sorted list A is [[80, 99], [56, 32, 80], [5, 90, 'Hi', 66]]

Verwandter Artikel - Python List