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 27 Python
vscode 远程调试python的方法
Dec 01 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
Python爬虫包BeautifulSoup学习实例(五)
Jun 17 Python
Python实现对文件进行单词划分并去重排序操作示例
Jul 10 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
python贪吃蛇游戏代码
Apr 18 Python
Python3之手动创建迭代器的实例代码
May 22 Python
django 2.2和mysql使用的常见问题
Jul 18 Python
keras topN显示,自编写代码案例
Jul 03 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
如何用python 操作zookeeper
Dec 28 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 HandlerSocket的使用
2011/05/02 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
PHP自定义函数实现数组比较功能示例
2017/10/19 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
JavaScript 密码强度判断代码
2009/09/05 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
jquery获取radio值实例
2014/10/16 Javascript
jQuery元素的隐藏与显示实例
2015/01/20 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
js模拟微博发布消息
2017/02/23 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
layui动态表头的实现代码
2019/08/22 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
Python中List.index()方法的使用教程
2015/05/20 Python
Python实现爬取逐浪小说的方法
2015/07/07 Python
Python中强大的命令行库click入门教程
2016/12/26 Python
Python代码实现删除一个list里面重复元素的方法
2019/04/02 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
python模拟实现斗地主发牌
2020/01/07 Python
python实现低通滤波器代码
2020/02/26 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
雷蛇美国官网:Razer
2020/04/03 全球购物
企业标语大全
2014/07/01 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis