python使用 zip 同时迭代多个序列示例

yipeiwu_com7年前Python基础

本文实例讲述了python使用 zip 同时迭代多个序列。分享给大家供大家参考,具体如下:

zip 可以平行地遍历多个迭代器

python 3中zip相当于生成器,遍历过程中产生元祖,python2会把元祖生成好,一次性返回整份列表

zip(x,y,z)会生成一个可返回元组 (x,y,z) 的迭代器

>>> x = [1, 2, 3, 4, 5]
>>> y = ['a', 'b', 'c', 'd', 'e']
>>> z = ['a1', 'b2', 'c3', 'd4', 'e5']
>>> for i in zip(x,y,z):
...  print(i)
... 
(1, 'a', 'a1')
(2, 'b', 'b2')
(3, 'c', 'c3')
(4, 'd', 'd4')
(5, 'e', 'e5')

遍历长度不一样(只要耗尽一个就会结束,若想遍历不等长请使用itertools的zip_longest)

>>> x = [1, 2, 3, 4, 5, 6]
>>> y = ['a', 'b', 'c', 'd', 'e']
>>> for i in zip(x,y):
...  print(i)
... 
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
(5, 'e')

>>> from itertools import zip_longest
>>> x = [1, 2, 3, 4, 5, 6]
>>> y = ['a', 'b', 'c', 'd', 'e']
>>> for i in zip_longest(x,y):
...  print(i)
... 
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
(5, 'e')
(6, None)

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python注释详解

注释用于说明代码实现的功能、采用的算法、代码的编写者以及创建和修改的时间等信息。 注释是代码的一部分,注释起到了对代码补充说明的作用。 Python注释 Python单行注释以#开头,单...

简述Python中的进程、线程、协程

进程、线程和协程之间的关系和区别也困扰我一阵子了,最近有一些心得,写一下。 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。 线程拥有自己独立的栈和共享的堆,共享堆...

python数据持久存储 pickle模块的基本使用方法解析

python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,...

python根据出生年份简单计算生肖的方法

本文实例讲述了python根据出生年份简单计算生肖的方法。分享给大家供大家参考。具体分析如下: 这里使用python根据出生年份计算生肖,看了代码会发现原来这么简单 #计算生肖 de...

详解python路径拼接os.path.join()函数的用法

os.path.join()函数:连接两个或更多的路径名组件 1.如果各组件名首字母不包含'/',则函数会自动加上 demo1 import os Path1 = 'home'...