309 votes

Comment trier une liste de listes par un index spécifique de la liste intérieure ?

J'ai une liste de listes. Par exemple,

[
[0,1,'f'],
[4,2,'t'],
[9,4,'afsd']
]

Si je voulais trier la liste extérieure par le champ chaîne de caractères des listes intérieures, comment le feriez-vous en python ?

7 votes

Lien vers le tutoriel : wiki.python.org/moin/HowTo/Tri

3 votes

0voto

NicoNu Points 1

Assurez-vous qu'il n'y a pas de valeurs nulles ou NaN dans la liste que vous voulez trier. S'il y a des valeurs NaN, votre tri sera désactivé, ce qui aura un impact sur le tri des valeurs non nulles.

Vérifiez Python : la fonction de tri se casse en présence de nan

0voto

En utilisant une fonction de touche personnalisée, vous pouvez facilement trier n'importe quelle liste de listes comme vous le souhaitez :

L = [[0,1,'f'], [4,2,'t'], [9,4,'afsd']]

def sorter(lst):
    return lst[2].casefold()

L.sort(key=sorter)

# result: [[9, 4, 'afsd'], [0, 1, 'f'], [4, 2, 't']]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X