python中zip()函数遍历多个列表方法


Posted in Python onFebruary 18, 2021

在对列表的元素进行找寻时,会频繁的说到遍历的理念。对于复杂的遍历要求,如多个列表中查找就显然不适合用for循环。本篇所要带来的是zip() 函数的方法,能够对多个迭代器进行遍历。下面我们就python中zip的说明、语法、使用注意点进行讲解,然后带来遍历多个列表的实例。

1、说明

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。(注:在python3中返回的是zip对象)

2、语法

zip(iterable, ...)

# 其中 iterable,... 表示多个列表、元组、字典、集合、字符串,甚至还可以为 range() 区间。

3、注意

(1)zip 可以平行地遍历多个迭代器,如果可迭代对象的长度不相同将按短的序列为准

(2)python3中zip相当于生成器,遍历过程中产生元组,python2会把元组生成好,一次性返回整份列表

4、实例

使用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()函数遍历多个列表方法的文章就介绍到这了,更多相关zip()函数如何在python中遍历多个列表内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
编写Python脚本抓取网络小说来制作自己的阅读器
Aug 20 Python
关于python pyqt5安装失败问题的解决方法
Aug 08 Python
Python爬虫包BeautifulSoup简介与安装(一)
Jun 17 Python
Python使用crontab模块设置和清除定时任务操作详解
Apr 09 Python
在Python中使用filter去除列表中值为假及空字符串的例子
Nov 18 Python
Docker部署Python爬虫项目的方法步骤
Jan 19 Python
python连接打印机实现打印文档、图片、pdf文件等功能
Feb 07 Python
解决python DataFrame 打印结果不换行问题
Apr 09 Python
python 实现读取csv数据,分类求和 再写进 csv
May 18 Python
python判断正负数方式
Jun 03 Python
完美解决python针对hdfs上传和下载的问题
Jun 05 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
Sep 25 Python
python模块内置属性概念及实例
Feb 18 #Python
Python中的流程控制详解
Feb 18 #Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 #Python
python 爬取腾讯视频评论的实现步骤
Feb 18 #Python
Python之qq自动发消息的示例代码
Feb 18 #Python
Python对excel的基本操作方法
Feb 18 #Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
Feb 18 #Python
You might like
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
mac下安装nginx和php
2013/11/04 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
2013/06/19 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
Python中的index()方法使用教程
2015/05/18 Python
Python利用IPython提高开发效率
2016/08/10 Python
详解如何利用Cython为Python代码加速
2018/01/27 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
俄语专业毕业生推荐信
2013/10/28 职场文书
中学教师请假制度
2014/02/03 职场文书
情侣吵架检讨书
2014/02/05 职场文书
档案信息化建设方案
2014/05/16 职场文书
员工安全责任书范本
2014/07/24 职场文书
企业委托书范本
2014/09/13 职场文书
优秀党员事迹材料
2014/12/18 职场文书
建议书范文
2015/02/05 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python