Trier la liste des Tuples en Python
-
Utilisez la fonction
list.sort()
pour trier une liste de tuples en Python - Utilisez l’algorithme de tri à bulles pour 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 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