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 :

Liste et rangs


Sujet :

Python

  1. #1
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 38
    Points : 11
    Points
    11
    Par défaut Liste et rangs
    Bonjour,
    J'ai une liste en python que voici : liste = [13, 9, 18, 12, 9, 11], j'aimerais pouvoir récupérer le '9' qui a le plus haut rang dans la liste. Comment puis-je faire cela ? Car quand je fais: J'obtiens 1, or je voudrais avoir 4, celui qui a le rang le plus élevé dans la liste.

    Merci de vos réponses

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Je suis quasiment certain qu'il n'existe pas de méthode toute faite pour çà.
    Donc il faut coder.
    La méthode .index accepte 2 autres paramètres start et stop.
    Si vous regardez ce que çà donne à la console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> L = [13, 9, 18, 12, 9, 11]
    >>> L.index(9)
    1
    >>> L.index(9,2)
    4
    >>> L.index(9,5)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: 9 is not in list
    yaka emballer le tout dans une fonction.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Points : 16
    Points
    16
    Par défaut
    Salut,

    il suffirait de retourner la liste et de soustraire l'indice trouvé à la taille de la liste -1 pour obtenir ce que vous voulez

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i = (len(l) - 1) - l[::-1].index(9)

  4. #4
    Membre actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Points : 215
    Points
    215
    Par défaut
    Pourquoi as tu choisis précisément le chiffre 2 ?
    _""""Cats have a big heart ^^ unlike some bad people (whose will never change in their brain) """

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Kurodiam Voir le message
    Pourquoi as tu choisis précisément le chiffre 2 ?
    Parce que "start" est "inclusif" i.e. L.index(9, 1) retourne 1
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre actif Avatar de Kurodiam
    Inscrit en
    Décembre 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Décembre 2013
    Messages : 208
    Points : 215
    Points
    215
    Par défaut
    Merci pour l'information
    _""""Cats have a big heart ^^ unlike some bad people (whose will never change in their brain) """

  7. #7
    Membre à l'essai
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2012
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 38
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    J'ai réussi grâce à vos conseils, merci.

  8. #8
    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
    Je pense que le plus efficace serait cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def myIndex(myList, n):
        return len(myList)-myList[::-1].index(n)-1
    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)

Discussions similaires

  1. [List out of range] Test dans le démineur
    Par mcalus dans le forum Général Python
    Réponses: 11
    Dernier message: 25/01/2009, 01h04
  2. Réponses: 4
    Dernier message: 19/06/2008, 00h11
  3. un impossible "list index out of range" alors que si !
    Par guiguizekid dans le forum Général Python
    Réponses: 3
    Dernier message: 18/05/2008, 04h04
  4. liste+ rang + java
    Par zorro13 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 22/02/2008, 15h38
  5. list index out of range
    Par watcha2020 dans le forum Général Python
    Réponses: 2
    Dernier message: 29/06/2006, 09h59

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