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序列之list和tuple常用方法以及注意事项
Jan 09 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python字符串拼接、截取及替换方法总结分析
Apr 13 Python
Python学习思维导图(必看篇)
Jun 26 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
Python图像处理库PIL的ImageGrab模块介绍详解
Feb 26 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
django rest framework使用django-filter用法
Jul 15 Python
django 获取字段最大值,最新的记录操作
Aug 09 Python
一篇文章弄懂Python关键字、标识符和变量
Jul 15 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 静态变量的初始化
2009/11/15 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHP检测接口Traversable用法详解
2017/12/29 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
JavaScript 异步调用框架 (Part 1 - 问题 & 场景)
2009/08/03 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
使用PDB简单调试Python程序简明指南
2015/04/25 Python
视觉直观感受若干常用排序算法
2017/04/13 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
python连接PostgreSQL过程解析
2020/02/09 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
python输出数学符号实例
2020/05/11 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
餐饮采购员岗位职责
2014/03/15 职场文书
协议书的格式
2014/04/23 职场文书
暑期教师培训方案
2014/06/07 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
小学班主任自我评价
2015/03/11 职场文书
催款函怎么写
2015/06/24 职场文书
英文投诉信格式
2015/07/03 职场文书
大学生社会服务心得体会
2016/01/22 职场文书