Array Python

Résolu

Bonjour, 

Je suis débutante dans Python et je ne comprends pas le code ci-dessus.

numbers= [5,9,4,3,1,3,7]
print(numbers[2])
print(numbers[2:3])

Je ne comprends pas pourquoi lorsque l'on met :

print(numbers[2])

... cela donne 4. Et pourquoi :

print(numbers[2:3])

donne 4 également.

Cela paraît tout simple mais je ne vois vraiment pas, quelqu'un pourrait-il m'expliquer s'il vous plaît?

Merci

3 réponses

  1. Modérateur

    Bonjour Clara,

    Note que tu mettre en forme tes messages et notamment les extraits de code comme expliqué dans ce lien.

    En toute rigueur, il faut parler de liste (et non d'array).

    Les listes en python exposent un opérateur [ ] qui supporte :

    • un entier k
      • Si k est positif, qui permet d'extraire le k-ième élément de la liste indexé à partir de 0.
        • En particulier, si k == 0, alors on extrait le premier élément de la liste.
      • Si est k négatif, qui permet de récupérer le |k|-ième élement de la liste indexé à partir de -1
        • En particulier si k == -1, alors on extrait le dernier élément de la liste
    • un slice i:j qui permet d'extraire une sous-liste allant de l'index i (positif ou négatif, selon la convention ci-dessus) à l'index j exclu (positif ou négatif, selon la convention ci-dessus) ou None.
      • Par convention si j vaut None, cela signifie qu'on va jusqu'au bout de la liste
      • Si i est sous-entendu, alors python considère que i vaut 0 (on part du début)
      • Si j est sous-entendu, alors python considère que j vaut None.
      • En particulier, si i == j - 1, alors on extrait une sous liste de taille 1 qui contient l'élément situé à l'index i.

    N'hésite pas à faire quelques tests dans l'interpréteur python pour te familiariser avec notions.

    >>> l = [1, 2, 3]
    >>> l[0]
    1
    >>> l[-1]
    3
    >>> l[1:2]
    [2]
    >>> l[1:]
    [2, 3]
    >>> l[:]
    [1, 2, 3]

    Bonne chance

    0
    1. d'accord merci et pour le [2:3]?

      Cordialement,

      Clara

      0
      1. Modérateur

        Essayes de faire un 2:4 et tu devrais comprendre..

        0
    2. Modérateur

      Bonjour,

      Ta variable est un array .. son indice commence à zéro.

      Donc en position 0 tu as le 5 .. puis le 9 ... puis le 4 . Le 4 se trouve bien en position 2


      0