使用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)

视频讲解
Python高级用法:打包(zip)与拆包
本文介绍了Python中的zip函数如何合并列表,并探讨了解包的概念,包括列表、元组的解包以及逗号分隔值的拆包。强调了在解包过程中变量数量与值数量的一致性,并提供了避免报错的方法,如使用星号(*)。同时提到了嵌套解包的应用。
1万+

被折叠的 条评论
为什么被折叠?



