Python - 对元组的元素执行操作

时间:2015-05-18 14:59:18

标签: python

我有一个元组(x,y),其中x是一个字符串,y是一个整数。 现在我想在y上执行操作,如y += 1,而不想创建新的元组。我怎么能这样做?

3 个答案:

答案 0 :(得分:5)

元组是不可变的,因此您无法直接修改变量

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

答案 1 :(得分:3)

你不能 - 元组是不可变的。任何更改现有元组的尝试都会导致TypeError: 'tuple' object does not support item assignment

可以做的是将对象名称重新绑定到基于前一个元组的新元组。

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

答案 2 :(得分:2)

你不能,因为操作会改变元组,这是不可能的。创建一个新元组。

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