Python用zip函数同时遍历多个迭代器示例详解
作者:人云木木_张 时间:2023-09-28 06:09:41
前言
本文主要介绍的是Python如何使用zip函数同时遍历多个迭代器,文中的版本为Python3,zip函数是Python内置的函数。下面话不多说,来看详细的内容。
应用举例
>>> list1 = ['a', 'b', 'c', 'd']
>>> list2 = ['apple', 'boy', 'cat', 'dog']
>>> for x, y in zip(list1, list2):
print(x, 'is', y)
# 输出
a is apple
b is boy
c is cat
d is dog
这样就很简洁地实现了同时遍历两个列表,very pythonic!!!
原理说明
Python3中的zip函数可以把两个或者两个以上的迭代器封装成生成器,这种zip生成器会从每个迭代器中获取该迭代器的下一个值,然后把这些值组装成元组(tuple)。这样,zip函数就实现了平行地遍历多个迭代器。
注意
如果输入的迭代器长度不同,那么,只要有一个迭代器遍历完,zip就不再产生元组了,zip会提前终止,这可能导致意外的结果,不可不察。如果不能确定zip所封装的列表是否等长,可以改用 itertools 内置模块中的zip_longest 函数,这个函数不在乎它们的长度是否相等。
在Python2中,zip不是生成器,它平行地遍历这些迭代器,组装元组,并把这些元组所构成的列表一次性完整地返回,这可能会占用大量内存并导致程序崩溃,如果在Python2中要遍历数据量大的迭代器,推荐使用 itertools 内置模块中的 izip 函数。
总结
标签:python,zip,遍历,迭代器
0
投稿
猜你喜欢
GoLang切片相关问题梳理讲解
2024-04-29 13:06:11
解决Pycharm 导入其他文件夹源码的2种方法
2023-03-02 08:32:54
golang 输出重定向:fmt Log,子进程Log,第三方库logrus的详解
2024-04-27 15:40:14
Python实现GIF动图以及视频卡通化详解
2022-06-28 03:27:34
vue2.0 elementUI制作面包屑导航栏
2024-05-02 17:12:16
python rolling regression. 使用 Python 实现滚动回归操作
2021-01-11 09:38:07
MySQL 性能优化的最佳20多条经验分享
2024-01-22 00:42:49
Python 多线程处理任务实例
2021-06-25 04:50:05
fckeditor 常用函数
2023-01-25 15:47:11
python实现12306登录并保存cookie的方法示例
2021-08-05 18:37:55
详解python的变量
2021-01-26 20:44:20
安装SQL Server 2008时 总是不断要求重启电脑的解决办法
2024-01-13 10:29:37
Oracle中sys和system的区别小结
2009-11-10 20:36:00
常用正则表达式例子及评注说明
2008-01-03 13:04:00
Python中字典的setdefault()方法教程
2021-11-18 08:59:00
Python快速将ppt制作成配音视频课件的操作方法
2022-05-18 04:51:17
python常用时间库time、datetime与时间格式之间的转换教程
2023-05-03 01:24:37
Mysql数据库表中为什么有索引却没有提高查询速度
2024-01-13 19:25:16
php设计模式之正面模式实例分析【星际争霸游戏案例】
2023-11-14 10:54:04
快速解决Golang Map 并发读写安全的问题
2024-04-30 10:03:46