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 :

Classer des données sous python et déterminer le sens


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 26
    Points : 24
    Points
    24
    Par défaut Classer des données sous python et déterminer le sens
    Bonjour,
    Je suis débutant sur python, j'obtiens un tableau de données (resu2) grâce à python qu'il faut que je traite. Le tableau contient plusieurs colonnes, j'aimerai bien les classer en fonction de l'ordre croissant des résultats de la 3ème colonnes.
    du coup j'ai utilisé la fonction sorted, par contre, elle me classe les résultats mais dans le sens décroissant de la colonne 3. Je veux changer le sens de classement pour la colonne 3.
    Merci pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    resu2=resu[1:]
    	resu3=sorted(resu2,key=operator.itemgetter(2,1))

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 823
    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 : 3 823
    Points : 7 119
    Points
    7 119
    Par défaut
    En rajoutant la fonction reversed() avant sorted()
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    'et pourtant, elle tourne'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> import operator
    >>> resu2 = [['D', 'd', 4, 40], ['A', 'a', 1, 10], ['B', 'b', 2, 20], ['E', 'e', 5, 50], ['C', 'c', 3, 30]]
    >>> resu3 = sorted(resu2, key=operator.itemgetter(2,1))
    >>> resu3
    [['A', 'a', 1, 10], ['B', 'b', 2, 20], ['C', 'c', 3, 30], ['D', 'd', 4, 40], ['E', 'e', 5, 50]]
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> resu2 = [['D', 'd', 4, 40], ['A', 'a', 1, 10], ['B', 'b', 2, 20], ['E', 'e', 5, 50], ['C', 'c', 3, 30]]
    >>> resu3 = sorted(resu2, key=lambda resu2: resu2[2])
    >>> resu3
    [['A', 'a', 1, 10], ['B', 'b', 2, 20], ['C', 'c', 3, 30], ['D', 'd', 4, 40], ['E', 'e', 5, 50]]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import operator
    >>> resu2 = [['D', 'd', 4, 40], ['A', 'a', 1, 10], ['B', 'b', 2, 20], ['E', 'e', 5, 50], ['C', 'c', 3, 30]]
    >>> sorted(resu2, key=operator.itemgetter(2))
    [['A', 'a', 1, 10], ['B', 'b', 2, 20], ['C', 'c', 3, 30], ['D', 'd', 4, 40], ['E', 'e', 5, 50]]
    Pas de raison pour que cela soit dans le sens décroissant, sauf s'il nous manque une info.
    Dans l’absence de cette info:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> import operator
    >>> resu2 = [['D', 'd', 4, 40], ['A', 'a', 1, 10], ['B', 'b', 2, 20], ['E', 'e', 5, 50], ['C', 'c', 3, 30]]
    >>> sorted(resu2, key=operator.itemgetter(2), reverse=True)
    [['E', 'e', 5, 50], ['D', 'd', 4, 40], ['C', 'c', 3, 30], ['B', 'b', 2, 20], ['A', 'a', 1, 10]]
    @+
    Merci d'utiliser le forum pour les questions techniques.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérations des données sous forme de tableau en python
    Par Lyly87 dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 06/03/2013, 00h22
  2. Générer des données sous forme de graphiques (comme excel)
    Par matterazzo dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 26/10/2005, 19h21
  3. renvoyer des données sous forme de XML hiérarchique
    Par DiGueDao dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 12/01/2005, 18h06
  4. Exporter des données sous forme de requetes
    Par Pasiphae dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 06/10/2004, 17h27
  5. mise a jours des données sous access
    Par puyopuyo dans le forum ASP
    Réponses: 4
    Dernier message: 25/05/2004, 12h46

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