元组操作符
元组可以使用 +
拼接,拼接后按原来的顺序排列:
(4,5,6) + (1,2,3)
(4, 5, 6, 1, 2, 3)
1,2,3 + 4,5,6
(1, 2, 7, 5, 6)
+
操作符可以与 =
连用,拼接同时赋值,元组是不可变的,该操作是创建了一个新元组:
a = 1,2,3
print(id(a))
a += 4,5,6
id(a), a
2741588191344
(2741587773864, (1, 2, 3, 4, 5, 6))
元组还可使用 *
进行 n 次重复拼接:
(1,)*3
(1, 1, 1)
当 n 小于 1 时,得到空元组:
(1,2,3)*0
()
元组中的元素如果是可变对象,*
重复拼接后,可变对象的性质同 列表操作符 知识点一样,仍然是同一个对象的多次引用:
a = ([],)
b = a*3
# 在元组 a 的第一个元素中加入 1
a[0].append(1)
b
([1], [1], [1])
同列表一样可以用 *=
,重复拼接并赋值:
a = 1,
a *= 3
a
(1, 1, 1)
元组是可迭代对象,所以可以用 *
将元组拆包:
{*(1,1,2,3)}
{1, 2, 3}