Maison >développement back-end >Tutoriel Python >Comment trier les listes imbriquées et les tuples par un élément spécifique en Python ?

Comment trier les listes imbriquées et les tuples par un élément spécifique en Python ?

DDD
DDDoriginal
2024-12-16 11:46:10582parcourir

How to Sort Nested Lists and Tuples by a Specific Element in Python?

Tri des listes/tuples imbriqués par élément spécifique

Le stockage des données dans une liste de listes ou une liste de tuples permet une organisation flexible des données. Cependant, lorsqu'il s'agit de trier une telle structure, la question se pose de la méthode à privilégier et de la représentation appropriée des données.

Tri par le deuxième élément

Pour trier une liste de listes ou de tuples par le deuxième élément de chaque sous-ensemble, une approche courante consiste à utiliser la fonction sorted() en combinaison avec une fonction lambda comme élément clé :

# Sort list of lists
sorted_by_second = sorted(data, key=lambda tup: tup[1])

# Sort list of tuples
sorted_by_second = sorted(data, key=lambda tup: tup[1])

Vous pouvez également trier la liste sur place en utilisant la méthode sort() avec la fonction lambda :

# Sort list of lists in place
data.sort(key=lambda tup: tup[1])

# Sort list of tuples in place
data.sort(key=lambda tup: tup[1])

Ordre croissant ou décroissant

Par défaut, le tri s'effectue par ordre croissant. Pour trier par ordre décroissant, spécifiez reverse=True:

# Sort list of lists in descending order
sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)

# Sort list of tuples in descending order
sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)

Stockage de listes ou de tuples

Les listes et les tuples peuvent être utilisés pour stocker des structures de données imbriquées. Les listes sont mutables, permettant la modification d'éléments individuels, tandis que les tuples sont immuables, offrant une plus grande intégrité des données.

À des fins de tri, des listes ou des tuples peuvent être utilisés. Cependant, si vous comptez modifier les données après le tri, les listes sont préférables en raison de leur mutabilité.

Conseils supplémentaires

  • Pour trier par un index spécifique autre que le second, remplacez tup [1] dans la fonction lambda avec tup[index].
  • Pour les structures imbriquées à plusieurs niveaux, utilisez plusieurs fonctions lambda comme clé de tri, telles que key=lambda tup : (tup[0], tup[2]).

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