元组操作符

元组可以使用 + 拼接,拼接后按原来的顺序排列:

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