>>> tuple1 = (1,2,3,4)
>>> tuple2 = (3,4,5,6)
>>> tuple1 = tuple1+tuple2
>>> print tuple1
(1, 2, 3, 4, 3, 4, 5, 6)
>>>
对不起,如果这是一个菜鸟问题,并且发布了此问题,因为我找不到与此相关的任何内容。
元素是不可变的,您没有任何地方改变了元组的内容。名称另一方面是可变的。您更改了名称tuple1
指向的内容。
您可以做到这一点:
tuple1 = (1,2,3,4)
tuple2 = (3,4,5,6)
new_tuple = tuple1 + tuple2
将名称 tuple1
未触及,并且它引用的元组也保持不变。您创建的新元组被分配给其他名称。
您的不能做的直接分配给元组的索引:
>>> tuple1[0] = 42
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
将此与list
对象进行比较,上面的作业将有效。
操作tuple1 + tuple2
创建新的元组对象,并具有其他两个元组的内容。结果可以分配,包括名称tuple1
或tuple2
。
我强烈建议您阅读有关Python名称的工作原理以及它们如何与诸如元组和整数(是对象(之类的东西分开的。参见Ned Batchelder的事实和关于Python名称和价值的神话。