使用拆包提取元素,不需要我们自己动手通过索引从序列中来提取元素,可以减少出错的可能,同时也方便使用。
拆包也可以用来交换变量值,不需要中间变量。
1. 交换变量值
语法:arg_name_1,arg_name_2 = arg_name_2,arg_name_1
>>> a=1
>>> b=(2,3)
>>> a,b = b,a
>>> a
(2, 3)
>>> b
1
2. 拼接列表/元组与新元素
语法:*'obj: list | tuple', 'element', ...
注意:除待拆包元素外,需要有其他元素,否则会报错
>>> *[1,2,3],4
(1, 2, 3, 4)
>>> *[1,2,3] # 只有一个待拆包列表,会报错
File "<stdin>", line 1
SyntaxError: can't use starred expression here
>>> *[1,2,3],[4] # 待拼接元素可以是任何类型
(1, 2, 3, [4])
>>> *[1,2,3],[4],*(5,6) # 元组和列表拆包语法相似
(1, 2, 3, [<