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实现大文件排序的方法
Jul 10 Python
Python匹配中文的正则表达式
May 11 Python
Python中字符串的修改及传参详解
Nov 30 Python
Python实现字符串格式化输出的方法详解
Sep 20 Python
Python实现求数列和的方法示例
Jan 12 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
django允许外部访问的实例讲解
May 14 Python
Python定时发送天气预报邮件代码实例
Sep 09 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
Feb 26 Python
Selenium向iframe富文本框输入内容过程图解
Apr 10 Python
Python读取excel文件中带公式的值的实现
Apr 17 Python
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
Apr 14 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完整的日历类(CLASS)
2006/11/27 PHP
function.inc.php超越php
2006/12/09 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
浅谈python迭代器
2017/11/08 Python
python脚本实现验证码识别
2018/06/07 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
NumPy中的维度Axis详解
2019/11/26 Python
python 实现学生信息管理系统的示例
2020/11/28 Python
高中的自我鉴定
2013/12/16 职场文书
计算机考试作弊检讨书1000字
2015/01/01 职场文书
感恩节寄语2015
2015/03/24 职场文书
公司出纳岗位职责
2015/03/31 职场文书
2015年宣传工作总结
2015/04/08 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫