Maison >développement back-end >Tutoriel Python >Comment trier les listes/tuples de listes/tuples en fonction d'un index spécifique ?

Comment trier les listes/tuples de listes/tuples en fonction d'un index spécifique ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-19 07:26:12213parcourir

How to Sort Lists/Tuples of Lists/Tuples Based on a Specific Index?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn