Aller au contenu

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).

  1. Quelle est la valeur de a[-1]?
  2. Quelle est la valeur de len(a)?
  3. Quelle est la valeur de a[len(a)]?
  4. Quelle est la valeur de a[len(a)-1]?
Réponses
  1. a[-1] désigne le dernier élément du tuple donc a[-1] = 64.
    >>> a = (2, 4, 8, 16, 32, 64)
    >>> a[-1]
    64
    
  2. len(a) est la longueur du tuple, c'est à dire son nombre d'éléments, soit 6.
  3. Aucune. L'élément d'indice len(a) n'existe pas (le dernier indice est len(a)-1). Si vous entrez a[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
    
  4. a[len(a)-1] est le dernier élément de la liste, donc a[len(a)-1] = 64.