这篇文章将为大家详细讲解有关如何在python中利用zip()函数遍历多个列表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联建站是专业的网站建设公司,提供网站建设,网站制作,网站设计等网站开发一体化解决方案;包括H5高端网站建设,微信小程序定制开发,网站定制,企业网站建设,商城网站建设,自适应网站建设,建网站,PHP网站建设,软件开发,软文发稿,网站营销。欢迎做网站的企业前来合作洽谈,创新互联建站将竭诚为您服务!1、说明
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。(注:在python3中返回的是zip对象)
zip(iterable, ...) # 其中 iterable,... 表示多个列表、元组、字典、集合、字符串,甚至还可以为 range() 区间。
(1)zip 可以平行地遍历多个迭代器,如果可迭代对象的长度不相同将按短的序列为准
(2)python3中zip相当于生成器,遍历过程中产生元组,python2会把元组生成好,一次性返回整份列表
使用zip()函数一次处理两个或多个列表中的元素:
alist = ['a1', 'a2', 'a3'] blist = ['1', '2', '3'] for a, b in zip(alist, blist): print a, b # a1 1 # a2 2 # a3 3
python zip()函数实例扩展:
两个或者多个list
a=[1,2,3] b=[4,5,6] c=[7,8,9,10] #两个list去zip() zip(a,b) #三个list去zip(),返回的对象的长度和最小的迭代器一致 zip(a,b,c) #用list()查看zip后的数据 list(zip(a,b)) #[(1, 4), (2, 5), (3, 6)] list(zip(a,b,c)) #[(1, 4, 7), (2, 5, 8), (3, 6, 9)] #使用zip(*zip())解压 a1,b1=zip(*zip(a,b)) #两个list迭代输出 for i,j in zip(a,b): print(i,j)
如有两个list,一个是一层,一个是嵌套,要组成一个dict
#将zip对象转换成字典看看 a=[1,2,3] d=[['a','b','c'],['aa','bb','cc'],['aaa','bbb','ccc']] dict(zip(a,d)) #{1: ['a', 'b', 'c'], 2: ['aa', 'bb', 'cc'], 3: ['aaa', 'bbb', 'ccc']} #如果一个是key值,一个内层list就是一行value [dict(zip(a,value)) for value in d] #[{1: 'a', 2: 'b', 3: 'c'}, {1: 'aa', 2: 'bb', 3: 'cc'}, {1: 'aaa', 2: 'bbb', 3: 'ccc'}] #或者是 l=[] for value in d: dict={} for i in range(len(value)): dict[a[i]]=value[i] l.append(dict)
关于如何在python中利用zip()函数遍历多个列表就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。