Classement

Résolu
JFL -  
 JFL -
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.

a = ['ab' ,'cda', 'abcdef']
a.sort()
print (a)

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, sort convient, mais ne peut pas deviner qu'il doit trier sur la longueur, il faut le lui préciser:
    a.sort(key=len)
    1
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    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.

    Exemple
    liste=["carotte","patates","haricot","pamplemousse",'pois',"champignon","pêche"]
    liste.sort(key=lambda item:len(item))
    print(liste)
    

    0