在元组中插入项

64 投票
8 回答
155408 浏览
提问于 2025-04-15 19:33

是的,我知道元组是不可改变的,但我现在的情况是需要在每个元组里插入一个额外的值。比如说,元组里有一个金额,我想在它旁边加一个不同货币的新项,像这样:

('Product', '500.00', '1200.00')

这样可以吗?

谢谢!

8 个回答

24

你必须创建一个新的元组,然后可以把旧元组的名字(或者其他引用)重新指向这个新元组。如果旧元组只有一个引用的话,+=这个操作符可以帮你做到这一点,比如:

thetup += ('1200.00',)

这样就可以一次性完成添加和重新绑定的操作。

64

因为元组是不可改变的,所以这会生成一个新的元组。你只需要把这个新元组放回你拿到旧元组的地方就可以了。

sometuple + (someitem,)
73

你可以把它转换成一个列表,插入你想要的项目,然后再把它转换回元组。

a = ('Product', '500.00', '1200.00')
a = list(a)
a.insert(3, 'foobar')
a = tuple(a)
print a

>> ('Product', '500.00', '1200.00', 'foobar')

撰写回答