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将ip地址转换成整数的方法
Mar 17 Python
Python lxml模块安装教程
Jun 02 Python
Python中的一些陷阱与技巧小结
Jul 10 Python
PyQt QListWidget修改列表项item的行高方法
Jun 20 Python
使用Python调取任意数字资产钱包余额功能
Aug 15 Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 Python
深度学习入门之Pytorch 数据增强的实现
Feb 26 Python
django queryset 去重 .distinct()说明
May 19 Python
python与c语言的语法有哪些不一样的
Sep 13 Python
Django如何实现防止XSS攻击
Oct 13 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
Dec 27 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 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
如何将数据从文本导入到mysql
2006/10/09 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
基于PHP array数组的教程详解
2013/06/05 PHP
如何在PHP中使用正则表达式进行查找替换
2013/06/13 PHP
数组与类使用PHP的可变变量名需要的注意的问题
2013/06/20 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
微信小程序实现留言板
2018/10/31 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python更新列表的方法
2015/07/28 Python
django之session与分页(实例讲解)
2017/11/13 Python
python线程池threadpool使用篇
2018/04/27 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
浅谈HTML5 & CSS3的新交互特性
2016/07/19 HTML / CSS
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
公司保密承诺书
2014/03/27 职场文书
预备党员思想汇报1000字
2014/10/07 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
Springboot中如何自动转JSON输出
2022/06/16 Java/Android