2.4.4 元素序列解包

序列解包是Python 3之后才有的语法,可以用这种语法将元素序列解包到另一组变量中。例如,province中存储了华东地区及其具体省市的名称,如果我们想单独提取出地区名称和省市名称,并把它们分别存储到不同的变量中,可以调用字符串对象的split()方法把这个字符串按冒号分割成多个字符串,示例代码和输出如下:

上述代码直接将split()方法返回的列表中的元素赋值给变量region和变量province_south。这种方法并不限于列表和元组,而是适用于任意的序列,甚至包括字符串序列。只要赋值运算符左边的变量数目与序列中的元素数目相等即可。

但是在工作中,经常会遇到变量数目与序列中的元素数目不相等的情况,这个时候就需要使用序列解包。可以利用“*”表达式获取单个变量中的多个元素,只要它的解释没有歧义即可,“*”获取的值默认为列表,示例代码和输出如下:

上述代码获取的是赋值号右侧的剩余部分,当然也可以获取中间的部分,示例代码和输出如下: