Classement
Résolu
Bonjour,
J'ai une liste de chaines de caractères a = ['ab' ,'cda', 'abcdef'] et je n'arrive pas à l'ordonner de la plus courte à la plus longue chaîne; sort ne convient évidemment pas. Pourriez -vous me conseiller ? Merci beaucoup.
J'ai une liste de chaines de caractères a = ['ab' ,'cda', 'abcdef'] et je n'arrive pas à l'ordonner de la plus courte à la plus longue chaîne; sort ne convient évidemment pas. Pourriez -vous me conseiller ? Merci beaucoup.
a = ['ab' ,'cda', 'abcdef'] a.sort() print (a)
3 réponses
-
merci beaucoup
-
ModérateurBonjour,
Comme indiqué dans la documentation
list.sort() et sorted() ont un paramètre key afin de spécifier une fonction (ou autre appelable) qui peut être appelée sur chaque élément de la liste avant d'effectuer des comparaisons.
Exempleliste=["carotte","patates","haricot","pamplemousse",'pois',"champignon","pêche"] liste.sort(key=lambda item:len(item)) print(liste)
-
Contributeurbonjour, sort convient, mais ne peut pas deviner qu'il doit trier sur la longueur, il faut le lui préciser:
a.sort(key=len)