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分割文件的常用方法
Nov 01 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
python在控制台输出进度条的方法
Jun 20 Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
详解Python的三种拷贝方式
Feb 11 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
Python的信号库Blinker用法详解
Dec 31 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
Jan 22 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
从刷票了解获得客户端IP的方法
2015/09/21 PHP
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
javascript客户端解决方案 缓存提供程序
2010/07/14 Javascript
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
python实现简单中文词频统计示例
2017/11/08 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
使用TensorFlow实现SVM
2018/09/06 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
在python中做正态性检验示例
2019/12/09 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
python实现梯度法 python最速下降法
2020/03/24 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
李宁官方网店:中国运动品牌
2017/11/02 全球购物
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
对公司合理化的建议书
2014/03/12 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
个人委托书范本
2014/09/13 职场文书
环卫工作个人总结
2015/03/04 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
浅析Python实现DFA算法
2021/06/26 Python
Go获取两个时区的时间差
2022/04/20 Golang
python开发人人对战的五子棋小游戏
2022/05/02 Python