Python内置函数zip()的用法

发布时间 2023-07-08 14:04:19作者: 浩浩学习

zip()函数介绍:

zip()函数是Python的内置函数,将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的list(Python3为了节约内存,zip()返回的是zip对象,需要通过list()手动转换成列表)

如果zip()没有可迭代的元素,则它将返回一个空的迭代器,如果每个迭代器的元素个数不一致,则返回的列表长度与最短的一致。

zip()函数语法:

zip([iterable,...])

实例演示

1、zip()返回的是zip对象,可以通过list()转换成list查看,也可以通过dict()转换成字典查看

x = ['a','b','c','d']
y = [1,2,3,4]
print(f'这是一个列表:{list(zip(x,y))}')
print(f'这是一个字典:{dict(zip(x,y))}')

执行结果如图:

2、每个迭代器的元素个数不一致,则返回的列表长度与最短的一致。

a = ["a","b","c","d"] #4个元素
b = [1,2,3,4,5,6,7]   #7个元素
print(f'迭代对象长度不一致:\n{list(zip(a,b))}')

执行结果如图:

3、zip()可以用for循环并行迭代

a = [1,2,3,4,5]
b = [5,4,3,2,6]
c = zip(a,b)
for a, b in c:
    print(a,"*",b,"=",a*b)

执行结果如图:

4、与 zip 相反,zip(*) 可理解为解压,返回二维矩阵式

a = [1,2,3,4,5]
b = ["d","b","e","r"]
c = zip(*(zip(a,b)))
print(list(c))

执行结果如图: