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 :

Trier une liste à 2 dimensions


Sujet :

Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut Trier une liste à 2 dimensions
    Voilà ma liste :

    liste = [[emilie, dupon, 9], [thomas, dupont, 5], [brigitte, dubois, 7], [jean, dupuis, 15], [louis, duprès, 30], [pauline, dudu,2]]

    j'aimerais obtenir une liste triée comme ceci :

    listetriée = [[pauline, dudu,2], [thomas, dupont, 5], [brigitte, dubois, 7], [emilie, dupon, 9], [jean, dupuis, 15], [louis, duprès, 30]]

    ou pourquoi pas dans l'autre sens ! bref en tout cas je veux trier cette liste pas âge.
    Je n'y arrive pas : avez vous une solution ?

  2. #2
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Par défaut
    bonjour,

    une petite recherche sur le forum donne ca :
    http://www.developpez.net/forums/sho...ht=trier+liste

    a bientot

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut
    j'avais vu !! merci mais ma question n'est pas la même moi je ne souhaite pas trier sur la première valeur mais sur la dernière.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut
    je la refait :

    liste = [[emilie, dupon, 9, 5], [thomas, dupont, 5, 6], [brigitte, dubois, 7, 1], [jean, dupuis, 15, 78], [louis, duprès, 30, 9], [pauline, dudu,2, 8]]

    j'aimerais obtenir une liste triée comme ceci :

    listetriée = [[pauline, dudu,2, 8], [thomas, dupont, 5], [brigitte, dubois, 7, 1], [emilie, dupon, 9, 5], [jean, dupuis, 15, 78], [louis, duprès, 30, 9]]

    imaginons que ma liste = [[prenom, nom, age, numero]]

    comment puis je trier sur l'age uniquement.

    Merci

  5. #5
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    liste = [["emilie", "dupon", 9], ["thomas", "dupont", 5], ["brigitte", "dubois", 7], ["jean", "dupuis", 15], ["louis", u"duprès", 30], ["pauline", "dudu",2]]
    liste.sort(cmp=lambda x,y: cmp(x[2], y[2]))
    print liste

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 89
    Par défaut attention il faut quoter tes strings !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import operator
     
    l=[['emilie', 'dupon', 9], ['thomas', 'dupont', 5], ['brigitte', 'dubois', 7], ['jean', 'dupuis', 15], ['louis', 'duprès', 30], ['pauline', 'dudu',2]]
     
    print sorted(l, key=operator.itemgetter(2))

  7. #7
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    Préférez la solution de jpcw2002, elle est beaucoup plus rapide.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut
    Merci beaucoup !!!

Discussions similaires

  1. Trier une liste chainée.
    Par gregb34 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 21/05/2006, 22h05
  2. Trier une liste de dossiers et de fichiers
    Par steveleg dans le forum Langage
    Réponses: 2
    Dernier message: 07/04/2006, 16h54
  3. trier une list
    Par elekis dans le forum C++
    Réponses: 4
    Dernier message: 23/03/2006, 12h01
  4. [c#] Trier une liste de nombres liés.
    Par Joad dans le forum ASP.NET
    Réponses: 13
    Dernier message: 11/05/2005, 11h17
  5. [Debutant(e)]Trier une liste
    Par LeDébutantJava dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 19/08/2004, 12h44

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