Array Python

Résolu/Fermé
claraxs Messages postés 8 Date d'inscription mercredi 7 septembre 2022 Statut Membre Dernière intervention 29 décembre 2022 - Modifié le 8 sept. 2022 à 10:14
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 8 sept. 2022 à 13:24

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

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
7 sept. 2022 à 19:53

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
claraxs Messages postés 8 Date d'inscription mercredi 7 septembre 2022 Statut Membre Dernière intervention 29 décembre 2022
7 sept. 2022 à 19:56

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

Cordialement,

Clara

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
7 sept. 2022 à 20:30

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

0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié le 8 sept. 2022 à 14:28

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