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中字典的基础知识归纳小结
Aug 19 Python
python 迭代器和iter()函数详解及实例
Mar 21 Python
python实现逻辑回归的方法示例
May 02 Python
浅谈python可视化包Bokeh
Feb 07 Python
Python简单实现两个任意字符串乘积的方法示例
Apr 12 Python
python 字典中文key处理,读取,比较方法
Jul 06 Python
python3中eval函数用法使用简介
Aug 02 Python
python实现生成Word、docx文件的方法分析
Aug 30 Python
python科学计算之narray对象用法
Nov 25 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
May 15 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 Python
python利用pandas分析学生期末成绩实例代码
Jul 09 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加密解密的代码
2006/10/09 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
php使用COPY函数更新配置文件的方法
2015/06/18 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
用jquery仿做发微博功能示例
2014/04/18 Javascript
引用其它js时如何同时处理多个window.onload事件
2014/09/02 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
简单学习vue指令directive
2016/11/03 Javascript
原生ajax处理json格式数据的实例代码
2016/12/25 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
浅谈vue的踩坑路
2017/08/31 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
python删除服务器文件代码示例
2018/02/09 Python
python实现三维拟合的方法
2018/12/29 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
python 默认参数相关知识详解
2019/09/18 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
python中yield的用法详解
2021/01/13 Python
生物学专业求职信
2014/07/23 职场文书
python如何获取网络数据
2021/04/11 Python
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL
Redis集群的关闭与重启操作
2021/07/07 Redis
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python