Tableau sous python

Bonjour à tous,
Voilà un petit problème sous python, je veux générer un tableau contenant 2 fois zero puis tous les entiers de 2 à 47 inclus. J'utilise pour cela l'instruction :

tableau=[0,0]+[i for i in range(2,47)]

Cela fonctionne sauf que le 47 n'y est pas, mon tableau s'arrête à 46. J'avoue être un peu frustré de ne pas comprendre la cause.
Si vous pouviez SVP m'apporter vos lumières...
Merci.

Réponses

  • Remplace $47$ par $48$. Sous Python, range$(m,n)$ correspond à l'ensemble $\{m, \dotsc,n-1\}$.
  • It's not a bug, it's a feature. On veut que rang(47) renvoie 47 nombres et que le premier soit 0. (Étonnamment, c'est plus pratique de compter à partir de 0.) C'est pourquoi range(47)=range(0,47) renvoie les nombres de 0 à 46. Si tu décides de commencer à 2 avec range(2,47), libre à toi. Mais il serait injustifiable (inqualifiable !) de finir à 47.
  • Bonsoir,
    tableau=[0,0]+list(range(2,48))
    

    Cordialement,

    Rescassol
  • Merci à tous les deux!
  • Encore une solution :
    tableau=list(range(48))
    tableau[1]=0
    
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
Connectez-vous ou Inscrivez-vous pour répondre.