文章目录

介绍语法代码1.zip()返回的是zip对象,可以通过list()转换成list查看,也可以通过dict()转换成字典查看2.每个迭代器的元素个数不一致,则返回的列表长度与最短的一致。3.zip()可以用for循环并行迭代4.与 zip 相反,zip(*) 可理解为解压,返回二维矩阵式

介绍

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

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

利用 * 号操作符,可以将元组解压为列表。

语法

zip([iterable,…])

代码

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

a = ["a","c","e","g"]

b = ["b","d","f","h"]

print("这是一个列表\n",list(zip(a,b))) #转换成列表

print("这是一个字典\n",dict(zip(a,b))) #转换成字典

这是一个列表

[('a', 'b'), ('c', 'd'), ('e', 'f'), ('g', 'h')]

这是一个字典

{'a': 'b', 'c': 'd', 'e': 'f', 'g': 'h'}

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

a = ["a","b","c","d"] #4个元素

b = [1,2,3,4,5,6,7] #7个元素

print(list(zip(a,b)))

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

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)

1 * 5 = 5

2 * 4 = 8

3 * 3 = 9

4 * 2 = 8

5 * 6 = 30

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

a = [1,2,3,4,5]

b = ["d","b","e","r"]

c = zip(*(zip(a,b)))

print(list(c))

[(1, 2, 3, 4), ('d', 'b', 'e', 'r')]

推荐链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: