介绍
zip()函数是Python的内置函数,将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的list(Python3为了节约内存,zip()返回的是zip对象,需要通过list()手动转换成列表)
如果zip()没有可迭代的元素,则它将返回一个空的迭代器,如果每个迭代器的元素个数不一致,则返回的列表长度与最短的一致。
利用 * 号操作符,可以将元组解压为列表。文章来源:https://www.toymoban.com/news/detail-402173.html
语法
zip([iterable,…])文章来源地址https://www.toymoban.com/news/detail-402173.html
代码
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')]
到了这里,关于Python中zip函数的使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!