/ / Python - Виконайте операцію над елементом кортежу - python

Python - виконати операцію на елементі кортежу - python

У мене кортеж (x,y) де x є рядком і y - ціле число. Тепер я хочу виконати операцію на y, люблю y += 1, не бажаючи створювати новий кортеж. Як я можу це зробити?

Відповіді:

5 за відповідь № 1

Кортежі незмінні, тому ви не можете безпосередньо змінювати змінну

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

Тож вам доведеться призначити назад новий кортеж

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

3 для відповіді № 2

Ви не можете "т - кортежі незмінні. Будь-яка спроба зміни існуючого кортежа призведе до TypeError: "tuple" object does not support item assignment.

Що можна зробити, це повторне прив’язання назви об'єкта до нового кортежу на основі попереднього.

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

2 для відповіді № 3

Ви не можете, оскільки операція буде вимкнути кортеж, що неможливо. Створіть новий кортеж.

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