Liste von Tupeln in Python sortieren

Vaibhhav Khetarpal 30 Januar 2023
  1. Verwenden Sie die Funktion list.sort(), um eine Liste von Tupeln in Python zu sortieren
  2. Verwenden Sie den Bubblesort-Algorithmus, um die Liste der Tupel in Python zu sortieren
Liste von Tupeln in Python sortieren

In Python können mit Hilfe von Tuples mehrere Elemente in einer einzigen Variablen gespeichert werden. Eine Liste von Tuples kann wie eine Liste von Ganzzahlen sortiert werden.

In diesem Lernprogramm werden verschiedene Methoden besprochen, um eine Liste von Tupeln nach dem ersten, zweiten oder i-ten Element in den Tupeln zu sortieren.

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

Die Funktion list.sort() sortiert die Elemente einer Liste in aufsteigender oder absteigender Reihenfolge. Ihr Parameter key gibt den Wert an, der für die Sortierung verwendet werden soll. key muss eine Funktion oder eine andere aufrufbare Variable sein, die auf jedes Listenelement angewendet werden kann.

Der folgende Code sortiert die Tupel basierend auf dem zweiten Element in allen Tupeln.

list_students = [
    ("Vaibhhav", 86),
    ("Manav", 91),
    ("Rajesh", 88),
    ("Sam", 84),
    ("Richie", 89),
]

# sort by second element of tuple
list_students.sort(key=lambda x: x[1])  # index 1 means second element

print(list_students)

Ausgabe:

[('Sam',84), ('Vaibhhav',86), ('Rajesh',88), ('Richie',89), ('Manav',91)]

Die Reihenfolge kann auf absteigend umgedreht werden, indem der Parameter reverse der Methode sort() auf True gesetzt wird.

Der folgende Code sortiert die Liste der Tupel in absteigender Reihenfolge unter Verwendung des Parameters reverse.

list_students = [
    ("Vaibhhav", 86),
    ("Manav", 91),
    ("Rajesh", 88),
    ("Sam", 84),
    ("Richie", 89),
]

# sort by second element of tuple
list_students.sort(key=lambda x: x[1], reverse=True)

print(list_students)

Ausgabe:

[('Manav',91), ('Richie',89), ('Rajesh',88), ('Vaibhhav',86), ('Sam',84)]

Verwenden Sie den Bubblesort-Algorithmus, um die Liste der Tupel in Python zu sortieren

Bubblesort ist einer der einfachsten Sortieralgorithmen; er funktioniert, indem er die benachbarten Elemente in einer Liste vertauscht, wenn sie in der falschen Reihenfolge sind, und diesen Schritt wiederholt, bis die Liste sortiert ist.

Der folgende Code sortiert die Tupel basierend auf dem zweiten Element und verwendet den Bubble-Sort-Algorithmus.

list_ = [("Vaibhhav", 86), ("Manav", 91), ("Rajesh", 88), ("Sam", 84), ("Richie", 89)]

# sort by second element of tuple
pos = 1
list_length = len(list_)

for i in range(0, list_length):
    for j in range(0, list_length - i - 1):
        if list_[j][pos] > list_[j + 1][pos]:
            temp = list_[j]
            list_[j] = list_[j + 1]
            list_[j + 1] = temp

print(list_)

Ausgabe:

[('Sam',84), ('Vaibhhav',86), ('Rajesh',88), ('Richie',89), ('Manav',91)]

Die Variable pos gibt die Position an, nach der sortiert werden soll, was in diesem Fall das zweite Element.

Wir können auch das erste Element verwenden, um die Liste der Tupel zu sortieren. Das folgende Programm implementiert dies.

list_ = [("Vaibhhav", 86), ("Manav", 91), ("Rajesh", 88), ("Sam", 84), ("Richie", 89)]

# sort by first element of tuple
pos = 0
list_length = len(list_)
for i in range(0, list_length):
    for j in range(0, list_length - i - 1):
        if list_[j][pos] > list_[j + 1][pos]:
            temp = list_[j]
            list_[j] = list_[j + 1]
            list_[j + 1] = temp

print(list_)

Ausgabe:

[('Manav',91), ('Rajesh',88), ('Richie',89), ('Sam',84), ('Vaibhhav',86)]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Verwandter Artikel - Python Tuple