Trier un tableau 2D en Python
-
Trier un tableau 2D par numéro de colonne à l’aide de la fonction
sort()
en Python -
Trier un tableau 2D par numéro de colonne à l’aide de la fonction
sorted()
en Python
Nous présenterons différentes méthodes pour trier les tableaux multidimensionnels en Python.
Il existe des fonctions intégrées telles que sort()
et sorted()
pour le tri de tableau ; ces fonctions nous permettent également de prendre une clé spécifique que nous pouvons utiliser pour définir quelle colonne trier si nous le voulons.
La méthode sort()
modifie la liste sur place, et une fonction intégrée sorted()
construit une nouvelle liste triée à partir d’un itérable. Nous verrons également les différentes méthodes pour définir iterable pour les fonctions sort()
et sorted()
.
Trier un tableau 2D par numéro de colonne à l’aide de la fonction sort()
en Python
Afin de trier le tableau par numéro de colonne, nous devons définir la key
dans la fonction sort()
telle que,
lst = [["John", 5], ["Jim", 9], ["Jason", 0]]
lst.sort(key=lambda x: x[1])
print(lst)
Production :
[['Jason', 0], ['John', 5], ['Jim', 9]]
Pour des raisons de tri, le paramètre key
doit être défini sur la valeur d’une fonction qui accepte un seul argument et renvoie une key
qui peut être utilisée dans le processus de tri. Il est possible d’effectuer cette stratégie rapidement car la fonction clé n’est appelée qu’une seule fois pour chaque enregistrement d’entrée.
Un modèle fréquemment utilisé consiste à trier des objets complexes en utilisant un ou plusieurs des indices de l’objet comme clé.
lst = [
("john", "C", 15),
("jane", "A", 12),
("dave", "D", 10),
]
lst.sort(key=lambda lst: lst[2])
print(lst)
Production :
[('dave', 'D', 10), ('jane', 'A', 12), ('john', 'C', 15)]
Dans le code ci-dessus à key=lambda lst:lst[2]
, le lst[2]
définit quelle colonne doit être utilisée pour la base de tri. Dans notre cas, lst
est trié par la troisième colonne.
Trier un tableau 2D par numéro de colonne à l’aide de la fonction sorted()
en Python
Afin de trier le tableau par numéro de colonne, nous devons définir la key
dans la fonction sorted()
telle que,
li = [["John", 5], ["Jim", 9], ["Jason", 0]]
sorted_li = sorted(li, key=lambda x: x[1])
print(sorted_li)
Production :
[['Jason', 0], ['John', 5], ['Jim', 9]]
Notez que la fonction sorted()
renvoie une nouvelle liste dans le code précédent, alors que la fonction sort()
remplace la liste d’origine.
La clé peut également être définie alternativement en utilisant itemgetter
de la bibliothèque operator
.
from operator import itemgetter
lst = [
("john", "C", 15),
("jane", "A", 12),
("dave", "D", 10),
]
sorted_lst = sorted(lst, key=itemgetter(1))
print(sorted_lst)
Production :
[('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.
LinkedInArticle connexe - Python Array
- Comment initier un tableau 2-D en Python
- Comment compter les occurrences d'un objet dans un tableau unidimensionnel en Python
- Correction de l'erreur TypeError: iteration over a 0-d array dans Python NumPy
- Décaler ou faire pivoter un tableau en Python
- Écrire un tableau dans un fichier texte en Python
- Fenêtre coulissante en Python