Aller au contenu

2.2 Tuples⚓︎

image

image

1.Définition des tuples⚓︎

Les tuples (appelés p-uplets dans le programme officiel de NSI) sont une collection d'objets ordonnée mais NON MODIFIABLE.
Pour rappel :

  • chaine de caractères : ordonnée et non modifiable
  • liste : ordonnée et modifiable
  • tuple : ordonnée et non modifiable

Quel peut être l'intérêt d'un tuple par rapport à une liste ?

  • Justement son caractère protégé : jamais une portion de code ne pourra venir modifier les informations contenues dans le tuple.
  • L'utilisation des tuples est économe en ressources-système par rapport à une liste (en particulier, parce que sa taille est fixe).
>>> monPremierTuple = (3, 5, 6)

Un tuple se différencie d'une liste par l'utilisation des parenthèses au lieu des crochets.

>>> type(monPremierTuple)
tuple

À noter qu'un tuple peut être déclaré sans parenthèses. C'est toutefois à éviter.

>>> taille = 600, 800
>>> type(taille)
tuple

2. Accès aux éléments d'un tuple⚓︎

Comme pour une liste ou une chaîne de caractère, l'accès se fait par un indice entre crochets.

>>> a = (12, 25, 6)
>>> a[0]
12

3. Tentative de modification d'un tuple⚓︎

>>> a[0] = 4
    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)

    <ipython-input-7-5fe525706b2b> in <module>()
    ----> 1 a[0] = 4


    TypeError: 'tuple' object does not support item assignment

4. Parcours d'un tuple⚓︎

On retrouve bien évidemment les deux méthodes utilisables pour les listes :

4.1 Parcours par indice⚓︎

>>> for k in range(len(a)):
        print(a[k])
12
25
6

4.1 Parcours par élément⚓︎

>>> for k in a :
        print(k)
12
25
6

5. Construction d'une fonction renvoyant un tuple⚓︎

1
2
3
4
5
def division(a, b):
    # fonction renvoyant le tuple (quotient, reste) de la division euclidienne de a par b.
    q = a // b
    r = a % b
    return (q, r)
>>> division(49,12)
(4,1)

6. Exercice⚓︎

Exercice

On considère deux points A et B d'un repère quelconque. Leurs coordonnées sont des tuples à deux éléments. Écrire une fonction qui prend en argument les coordonnées de deux points et qui renvoie le milieu de ces deux points.

La fonction doit fonctionner de cette manière :

>>> C = (45, 12)
>>> D = (49, 32)
>>> milieu(C,D)
(47, 22)