IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Tri d'une liste de mots par ordre croissant de leur taille


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Par défaut Tri d'une liste de mots par ordre croissant de leur taille
    Bonjour.

    Je débute en programmation et j'aimerais trier une liste contenant seulement des chaines de caractères par ordre de la taille de ces chaines mais je ne sais pas comment faire. Y a-t-il un moyen simple de le faire ?

    Merci !

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    L = ["xxxx", "x", "xxxxx", "xx", "xxx"]
    L.sort(key=lambda v: len(v))
    print(L)
    ['x', 'xx', 'xxx', 'xxxx', 'xxxxx']

  3. #3
    Membre averti Avatar de temabul
    Homme Profil pro
    Informatique de Loisir
    Inscrit en
    Février 2015
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Informatique de Loisir

    Informations forums :
    Inscription : Février 2015
    Messages : 26
    Par défaut
    Bonjour,
    Voici quelques éléments de réflexion si ça peut t'aider.
    Il faudra peut-être préciser où tu coinces.

    Chaque élément de la liste peut-être défini par la longueur de sa chaîne de caractères.
    Après il est facile de comparer la longueur de deux chaines de caractères.
    Mais je pense que le problème n'est pas là.
    Pour trier des listes, il y a plusieurs méthodes qui sont plus ou moins complexes (qui demandent plus ou moins de temps machine).

    Une méthode, mais pas adaptée si la liste est très longue :
    On a une liste maliste1.
    Créer une liste malistetriee contenant le 1er élément de maliste1.
    Prendre le 2ème élément de maliste1
    comparer sa longueur avec le 1er élément de malistetriee,
    s'il est plus grand avec le suivant,
    s'il est plus grand avec le suivant...
    sinon l'insérer dans malistetriee(après le précédent)
    Faire de même avec successivement tous les éléments de maliste1

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    L.sort(key=lambda v: len(v))
    Il me semble que l'on peut avantageusement remplacer par


Discussions similaires

  1. Optimisation de tri de nombres sur plusieurs colonnes par ordre croissant
    Par jurassic pork dans le forum Général Python
    Réponses: 5
    Dernier message: 05/02/2015, 22h56
  2. [RegExp] replacer une liste de mot par un seul
    Par lodan dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/06/2011, 08h34
  3. Tri d'une liste d'objets en se basant sur leurs attributs
    Par freestyler1982 dans le forum Langage
    Réponses: 11
    Dernier message: 22/11/2007, 15h33
  4. [XSLT] Changer l'ordre de tri d'une liste
    Par FlyByck dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 10/05/2007, 09h10
  5. [VBA]Trier les valeur d une liste par ordre croissant
    Par PierrotKun dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/03/2007, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo