Python高级用法:打包(zip)与拆包

2023-12-26 18:21:55

使用zip合并列表

如果需要同时遍历多个列表中对应元素,我们可以使用zip将不同的列表打包在一起

for item in zip([1, 2, 3], [4, 5, 6]):
	print(item)

运行结果如下:

在这里插入图片描述

如果列表中所含元素的数量不一致,使用zip会按照最短的列表自动匹配截取

在这里插入图片描述

解包

简单理解,解包就是将右侧多个值同时赋值给左侧多个变量的过程,赋值的对象可以是列表、元组,也可以是以逗号分割的多个值。

我们首先来看针对列表和元组的解包

a, b, c = [1, 2, 3]

运行结果如下:

在这里插入图片描述

a, b, c = (1, 2, 3)

运行结果如下:

在这里插入图片描述

下面来看以逗号分割的多个值的拆包过程

a, b, c = 1, '2', 3

在这里插入图片描述

这里需要主要的是拆包左右两侧的变量数目应该一致,如果不一致就会出现下面的这种状况。
在这里插入图片描述

在这里插入图片描述

如果遇到右侧是值比左侧变量多,但是要规避掉报错,可以采用以下的方式

a, b, *c = 1, 2, 3, 4

在这里插入图片描述

仅仅是在其中一个变量前面加上*就可以完美的解决这个问题,同时还可以根据需要,在不同位置的变量前加上*

a, *b, c = 1, 2, 3, 4

在这里插入图片描述

除此之外还可以进行嵌套解包,只要值与变量能够一一对应即可

(a, b), (c, d) = (1, 2), (3, 4)

在这里插入图片描述

文章来源:https://blog.csdn.net/DuLNode/article/details/135220855
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。