/ / Python - Effectue une opération sur un élément d'un tuple - python

Python - Effectue une opération sur un élément d'un tuple - python

J'ai un tuple (x,y)x est une ficelle et y est un entier. Maintenant, je veux effectuer une opération sur y, comme y += 1, sans vouloir créer un nouveau tuple. Comment puis je faire ça?

Réponses:

5 pour la réponse № 1

Les n-uplets sont immuables, vous ne pouvez donc pas modifier directement la variable

>>> t = ("foobar", 7)
>>> t[1] += 1
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
t[1] += 1
TypeError: "tuple" object does not support item assignment

Donc, vous devez attribuer un nouveau tuple

>>> t = (t[0], t[1]+1)
>>> t
("foobar", 8)

3 pour la réponse № 2

Vous pouvez "les tuples sont immuables. Toute tentative de changer un tuple existant aurait comme conséquence TypeError: "tuple" object does not support item assignment.

Ce qui peut être fait est de relier le nom de l'objet à un nouveau tuple en se basant sur le précédent.

t = ("a", 1)
t = (t[0], t[1]+1)
assert t == ("a", 2)

2 pour la réponse № 3

Vous ne pouvez pas "t", car l'opération modifierait le tuple, ce qui n'est pas possible. Créez un nouveau tuple.

newtuple = (t[0], t[1] + 1)