Modifier un tuple

Il n'est pas possible de modifier un tuple.

Description

Directed by

ROBERT B. WEIDE

Plus précisément, on dit qu'un tuple est une structure non mutable.

DéfinitionObjet immuable

Un objet est dit immuable ou non mutable si sa valeur (ou son état) ne peut pas être modifiée après sa création.

RemarqueObjet mutable

L'inverse d'un objet immuable est un objet mutable. Cela signifie qu'il est possible de modifier la valeur d'un objet mutable.

Les tuples sont donc immuables. Ce n'est pas le cas de toutes les séquences en Python, dont une que nous verrons plus tard.

Mais comment faire alors ?

Si l'on souhaite modifier un tuple, il faudra donc créer une copie personnalisée en utilisant le tranchage vu dans la précédente partie.

MéthodeConcaténation de tuples

Pour créer un tuple, on peut faire avec (val1, val2, ...) mais ça devient vite compliqué si le tuple est grand.

On va donc utiliser la concaténation, c'est-à-dire fusionner deux tuples pour en créer un autre, en utilisant +.

Ainsi, (1, 3, 7) + (4, 2) donne (1, 3, 7, 4, 2).

Attention, si on fait (1, 3, 7) + 4 alors on va obtenir une erreur. En effet, « 4 » n'est pas un tuple !

ExempleModifier un élément du tuple

Supposons que l'on a un tuple qui contient des prénoms (donc des strings). On souhaite modifier le troisième prénom.

1
t = ("Julien", "Adrien", "Joëlle", "Dominique", "Adèle")
2
u = t[:2] + ("Laure",) + t[3:]
3
print(t)  # ('Julien', 'Adrien', 'Joëlle', 'Dominique', 'Adèle')
4
print(u)  # ('Julien', 'Adrien', 'Laure', 'Dominique', 'Adèle')

Ainsi, t n'a pas été modifié et u est une copie modifiée de t.