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正则表达式匹配ip地址实例
Oct 09 Python
利用Psyco提升Python运行速度
Dec 24 Python
python脚本监控docker容器
Apr 27 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
python3 破解 geetest(极验)的滑块验证码功能
Feb 24 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
python使用matplotlib绘制热图
Nov 07 Python
解决python 读取excel时 日期变成数字并加.0的问题
Oct 08 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 Python
Python在线和离线安装第三方库的方法
Oct 31 Python
如何使用flask将模型部署为服务
May 13 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
无线电广播的开始
2002/01/30 无线电
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
漂亮的提示信息(带箭头)
2007/03/21 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
使用Browserify配合jQuery进行编程的超级指南
2015/07/28 Javascript
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
vue使用echarts图表的详细方法
2018/10/22 Javascript
微信小程序前端promise封装代码实例
2019/08/24 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
详解Django rest_framework实现RESTful API
2018/05/24 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
Python3常见函数range()用法详解
2019/12/30 Python
Python 文件数据读写的具体实现
2020/01/24 Python
python super函数使用方法详解
2020/02/14 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
python使用smtplib模块发送邮件
2020/12/17 Python
Pandas之缺失数据的实现
2021/01/06 Python
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
大学毕业生工作的自我评价
2013/10/01 职场文书
数据员岗位职责
2013/11/19 职场文书
美术指导助理求职信
2014/04/20 职场文书
迎国庆演讲稿
2014/09/15 职场文书
杜甫草堂导游词
2015/02/03 职场文书
工会积极分子个人总结
2015/03/03 职场文书
走进毛泽东观后感
2015/06/04 职场文书