Maison >développement back-end >Tutoriel Python >Comment trier les listes/tuples de listes/tuples en fonction d'un index spécifique ?
Tri des listes/tuples de listes/tuples en fonction d'un élément à un index spécifique
Les structures de données telles que les listes et les tuples contiennent souvent des éléments qui comprennent sous-listes ou sous-tuples. Si vous rencontrez la tâche de trier une telle structure en fonction d'un élément dans chaque sous-ensemble, les techniques suivantes fournissent des solutions efficaces.
Utilisation de tuples ou de listes
Les tuples et les listes sont des choix valables pour stocker vos données. Les tuples sont immuables, ce qui signifie que leur contenu ne peut pas être modifié après leur création. Les listes, en revanche, sont mutables et permettent de modifier leurs éléments. À des fins de tri, le choix entre eux dépend de votre scénario spécifique.
Tri par deuxième élément
Pour trier une liste/tuple de listes/tuples en fonction du deuxième élément dans chaque sous-ensemble, vous pouvez utiliser la fonction sorted() intégrée en Python. Cette fonction prend un argument clé facultatif qui spécifie le critère de tri.
Utiliser sorted() avec une fonction Lambda
Une approche élégante consiste à utiliser une fonction lambda comme l’argument clé. Par exemple, pour trier selon le deuxième élément d'une liste de listes, vous pouvez procéder comme suit :
sorted_by_second = sorted(data, key=lambda tup: tup[1])
Tri sur place
Si vous souhaitez trier la liste/tuple d'origine en place sans créer une nouvelle liste triée, vous pouvez utiliser la méthode sort() à la place. Cette méthode accepte également un argument clé :
data.sort(key=lambda tup: tup[1]) # sorts in place
Personnalisation de l'ordre de tri
Par défaut, le tri s'effectue par ordre croissant. Pour trier par ordre décroissant, spécifiez l'option inverse :
sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)
Tri sur place avec ordre inversé
Pour trier la liste/tuple d'origine en place par ordre décroissant commandez, utilisez :
data.sort(key=lambda tup: tup[1], reverse=True) # sorts in place
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!