Accéder aux éléments d'un tuple☘
Longueur d'un tuple☘
La longueur d'un tuple est le nombre d'éléments de ce tuple.
On l'obtient avec la fonction len
.
>>> a = (2, 3)
>>> len(a)
2
>>> b = (3.0, 4.1, 5.2)
>>> len(b)
3
Numérotation des éléments d'un tuple☘
Les éléments d'un tuple sont numérotés de 0 à longueur du tuple-1.
>>> a = (3, 8)
>>> a[0]
3
>>> a[1]
8
>>> b = (2, 3, 4, 5, 6, 7)
>>> b[0]
2
>>> b[len(b)-1]
7
Numérotation en partant de la fin☘
On peut également faire référence au dernier élément d'un tuple avec l'indice -1, à l'avant dernier élément avec l'indice -2...
>>> b = (2, 3, 4, 5, 6, 7)
>>> b[-1]
7
>>> b[-2]
6
>>> b[-6]
2
On retiendra que b[-1]
est une abréviation de b[len(b)-1]
et de façon plus générale, b[len(b)-i] = b[-i]
pour i\in \lbrace{1, 2, ..., \text{len}(b) \rbrace}.
Exercice☘
On définit le tuple a = (2, 4, 8, 16, 32, 64)
.
- Quelle est la valeur de
a[-1]
? - Quelle est la valeur de
len(a)
? - Quelle est la valeur de
a[len(a)]
? - Quelle est la valeur de
a[len(a)-1]
?
Réponses
a[-1]
désigne le dernier élément du tuple donca[-1] = 64
.>>> a = (2, 4, 8, 16, 32, 64) >>> a[-1] 64
len(a)
est la longueur du tuple, c'est à dire son nombre d'éléments, soit 6.- Aucune. L'élément d'indice
len(a)
n'existe pas (le dernier indice estlen(a)-1
). Si vous entreza[len(a)]
, vous obtiendrez une erreur out of range. Vous obtiendrez, sans aucun doute, très souvent cette erreur en programmant. Il est indispensable de retenir ce qu'elle signifie: vous demandez un élément d'indice n'existant pas.>>> a[len(a)] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: tuple index out of range
a[len(a)-1]
est le dernier élément de la liste, donca[len(a)-1] = 64
.