Retourner une liste

Résolu
Bonjour,

Je cherche a écrire un programme dans lequel j'ai besoin soit de retourner une liste, soit de la parcourir dans le sens inverse.

Je pensais qu'avec range (len(liste), 0) cela fonctionnerai pour la parcourir du dernier élemet au premier mais manifestement pas.

Pourriez vous m'indiquer au moins une des deux méthodes et dans l'idéal les deux.

Merci

3 réponses

  1. Effectivement c'est plus joli et concis comme ca.
    Quelle est la différence entre range et xrange ?

    Du coup voila ou en est mon programme :

    L = [int(i) for i in str(nbre_a_convertir)]
    print L
    
    nbre_converti = 0
    for i in range (len(L)-1,0,-1) :
        nbre_converti += L[i]* 2**i
        
    print nbre_converti
    


    Mais la c'est la débandade, je te copie quelques exemples de résultat :

    "Entrez le nombre que vous souhaitez convertir en decimal :
    1011
    [1, 0, 1, 1]
    12

    Entrez le nombre que vous souhaitez convertir en decimal :
    1101
    [1, 1, 0, 1]
    10

    Entrez le nombre que vous souhaitez convertir en decimal :
    1111
    [1, 1, 1, 1]
    14

    Entrez le nombre que vous souhaitez convertir en decimal :
    10111
    [1, 0, 1, 1, 1]
    28
    "

    alors que les bons résultats sont 11, 13, 15 et 23
    T'as une idée du problème ?
    1. Contributeur
      Ca vient d'ici :
      range (len(L)-1,0,-1)
      C'est range(len(L)-1,-1,-1)

      range(...) retourne une liste tandis que xrange() est un générateur. Donc, c'est moins gourmand en mémoire d'utiliser xrange().