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利用hook技术破解https的实例代码
Mar 25 Python
python list转dict示例分享
Jan 28 Python
python基于右递归解决八皇后问题的方法
May 25 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
python3.x上post发送json数据
Mar 04 Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
Python实现的列表排序、反转操作示例
Mar 13 Python
python实现AES加密解密
Mar 28 Python
python 控制Asterisk AMI接口外呼电话的例子
Aug 08 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
浅谈python出错时traceback的解读
Jul 15 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
PHP7.0安装笔记整理
2015/08/28 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
php实现对文件压缩简单的方法
2019/09/29 PHP
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
代码详解JS操作剪贴板
2018/02/11 Javascript
VUE重点问题总结
2018/03/19 Javascript
微信小程序实现弹出菜单
2018/07/19 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
原生js实现下拉框选择组件
2021/01/20 Javascript
Python装饰器使用示例及实际应用例子
2015/03/06 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
python OpenCV学习笔记实现二维直方图
2018/02/08 Python
解决Django migrate No changes detected 不能创建表的问题
2018/05/27 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
2018/06/14 Python
Django中信号signals的简单使用方法
2019/07/04 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
函授药学自我鉴定
2014/02/07 职场文书
技术总监管理岗位职责
2014/03/09 职场文书
承诺书格式范文
2014/06/03 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers
分享几种python 变量合并方法
2022/03/20 Python