zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
zip语法:
zip([iterable, …])
iterable——一个或者多个迭代器
返回值——元组
例子:
a = [1,2,3]
b = [‘x’,’y’,’z’]
c = [10,11,12,13]
res = zip(a,b) #返回一个对象
print(res)
运行结果:[(1, ‘x’), (2, ‘y’), (3, ‘z’)]
res = list(res)
print(res)
结果:[(1, ‘x’), (2, ‘y’), (3, ‘z’)]for x,y in res:
print( “x = “+ str(x))
print( “y = “+ str(y))
结果:x = 1
y = x
x = 2
y = y
x = 3
y = z
元素个数与最短的列表一致
res = list(zip(a,c))
print(res)
结果:[(1, 10), (2, 11), (3, 12)]
与 zip 相反,*zip 可理解为解压,返回二维矩阵式
a1,a2 =zip( *zip(a,b))
res = list(a1)
print(res)
结果:[1, 2, 3]
本文详细介绍了Python内置函数zip()的使用方法,包括其基本语法、功能特点及常见应用场景,并通过实例展示了如何处理不同长度的迭代器。

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



