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模块的方法详解
Sep 18 Python
python如何让类支持比较运算
Mar 20 Python
详解Python3的TFTP文件传输
Jun 26 Python
关于Pycharm无法debug问题的总结
Jan 19 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
python列表删除和多重循环退出原理详解
Mar 26 Python
Python+redis通过限流保护高并发系统
Apr 15 Python
Python多线程正确用法实例解析
May 30 Python
利用python进行文件操作
Dec 04 Python
python matlab库简单用法讲解
Dec 31 Python
Python下opencv库的安装过程及问题汇总
Jun 11 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
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
用jquery来定位
2007/02/20 Javascript
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
2013/08/21 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
js获取及判断键盘按键的方法
2015/12/01 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
js实现表格筛选功能
2017/01/18 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
js+SVG实现动态时钟效果
2018/07/14 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
查找Vue中下标的操作(some和findindex)
2020/08/12 Javascript
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
python matplotlib库直方图绘制详解
2019/08/10 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
矿泉水广告词
2014/03/20 职场文书
研发工程师岗位职责
2014/04/28 职场文书
物业接待员岗位职责
2015/04/15 职场文书
党小组意见范文
2015/06/08 职场文书
给学校的建议书400字
2015/09/14 职场文书
教师远程培训心得体会
2016/01/09 职场文书