Trier la liste des Tuples en Python

Vaibhhav Khetarpal 30 janvier 2023
  1. Utilisez la fonction list.sort() pour trier une liste de tuples en Python
  2. Utilisez l’algorithme de tri à bulles pour trier la liste des tuples en Python
Trier la liste des Tuples en Python

En Python, plusieurs éléments peuvent être stockés dans une seule variable en utilisant des tuples. Une liste de tuples peut être triée comme une liste d’entiers.

Ce tutoriel présente différentes méthodes pour trier une liste de tuples en fonction du premier, du deuxième ou du ième élément des tuples.

Utilisez la fonction list.sort() pour trier une liste de tuples en Python

La fonction list.sort() trie les éléments d’une liste par ordre croissant ou décroissant. Son paramètre key spécifie la valeur à utiliser dans le tri. key est une fonction ou d’autres appellations qui peuvent être appliquées à chaque élément de la liste.

Le code suivant trie les tuples sur la base du deuxième élément de tous les tuples.

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)

Production :

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

L’ordre peut être inversé en descendant en définissant le paramètre reverse de la méthode sort() comme True.

Le code suivant trie la liste des tuples en ordre décroissant en utilisant le paramètre 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)

Production :

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

Utilisez l’algorithme de tri à bulles pour trier la liste des tuples en Python

Tri à bulles est l’un des algorithmes de tri les plus simples ; il fonctionne en permutant les éléments adjacents d’une liste s’ils sont dans le mauvais ordre et répète cette étape jusqu’à ce que la liste soit triée.

Le code suivant trie les tuples sur la base du deuxième élément et utilise l’algorithme de tri à bulles.

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_)

Production :

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

La variable pos spécifie la position par laquelle le tri doit être effectué, qui dans ce cas, est le deuxième élément.

Nous pouvons également utiliser le premier élément pour trier la liste des tuples. Le programme suivant le met en œuvre.

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_)

Production :

[('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

Article connexe - Python Tuple