![零基础入门Python数据分析与机器学习](https://wfqqreader-1252317822.image.myqcloud.com/cover/147/44510147/b_44510147.jpg)
上QQ阅读APP看书,第一时间看更新
2.4.4 元素序列解包
序列解包是Python 3之后才有的语法,可以用这种语法将元素序列解包到另一组变量中。例如,province中存储了华东地区及其具体省市的名称,如果我们想单独提取出地区名称和省市名称,并把它们分别存储到不同的变量中,可以调用字符串对象的split()方法把这个字符串按冒号分割成多个字符串,示例代码和输出如下:
![](https://epubservercos.yuewen.com/F4E5C2/23721471401889206/epubprivate/OEBPS/Images/Figure-P50_171.jpg?sign=1739297487-AJhsoRryWUqufETLhntm9tDPlD5RPmsj-0-1076e579aff54c7863dd7b81ff1d594d)
上述代码直接将split()方法返回的列表中的元素赋值给变量region和变量province_south。这种方法并不限于列表和元组,而是适用于任意的序列,甚至包括字符串序列。只要赋值运算符左边的变量数目与序列中的元素数目相等即可。
但是在工作中,经常会遇到变量数目与序列中的元素数目不相等的情况,这个时候就需要使用序列解包。可以利用“*”表达式获取单个变量中的多个元素,只要它的解释没有歧义即可,“*”获取的值默认为列表,示例代码和输出如下:
![](https://epubservercos.yuewen.com/F4E5C2/23721471401889206/epubprivate/OEBPS/Images/Figure-P50_8390.jpg?sign=1739297487-PhPI2bvUfpCnMtcYGtoD3kXsnPaNlse6-0-e28ce258d13023e9e6bf903c9be41091)
上述代码获取的是赋值号右侧的剩余部分,当然也可以获取中间的部分,示例代码和输出如下:
![](https://epubservercos.yuewen.com/F4E5C2/23721471401889206/epubprivate/OEBPS/Images/Figure-P50_8392.jpg?sign=1739297487-qIUBSrWWAo7qAS2gq5EtZNMSXF8Puoan-0-b2b15261e7a303e89536ce31111d70ec)