Comment trier une liste de listes par un index spécifique des listes internes ?

Patricia Arquette
Libérer: 2024-11-22 07:34:10
original
834 Les gens l'ont consulté

How to Sort a List of Lists by a Specific Index of the Inner Lists?

Tri des listes de listes par index de liste interne

Problème :

Étant donné une liste de listes, chaque liste interne contenant plusieurs éléments, comment trier la liste externe par un index spécifique de la liste interne listes ?

Exemple :

Considérez la liste de listes suivante :

[[0, 1, 'f'],
[4, 2, 't'],
[9, 4, 'afsd']]
Copier après la connexion

Si nous voulons trier la liste externe en fonction des champs de chaîne des listes internes, comment pourrions-nous accomplir cela dans Python ?

Solution :

La solution consiste à utiliser la fonction Operator.itemgetter. Cette fonction nous permet d'extraire un élément spécifique de chaque liste interne et de l'utiliser comme critère de tri. Voici comment nous l'utiliserions :

from operator import itemgetter

L = [[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']]
sorted(L, key=itemgetter(2))
Copier après la connexion

Explication :

  • itemgetter(2) renvoie une fonction qui extrait le troisième élément de chaque liste interne ( index 2, à partir de 0).
  • Le paramètre clé dans sorted() spécifie le critère de tri. En utilisant itemgetter(2), nous demandons à la fonction de tri d'utiliser le champ de chaîne comme clé de tri.
  • Le résultat est une liste triée de listes, dont l'ordre est déterminé par les champs de chaîne.

Remarque supplémentaire :

Bien que itemgetter soit une méthode efficace pour trier par index de liste interne, pour les cas simples comme ça, une fonction lambda peut également être utilisée. Cependant, la fonction lambda sera généralement plus lente dans de tels cas.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal