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

yipeiwu_com6年前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切换pip安装源的方法详解

Python切换pip安装源的方法详解

一、pip简介 Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。 Pip 是对easy_install的取代,提供了和easy_install...

Python3内置模块之base64编解码方法详解

Python3内置模块之base64编解码方法详解

概述 Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法。可查看 RFC2045 ~ RFC20...

python3正则提取字符串里的中文实例

python3正则提取字符串里的中文实例

如下所示: # -*- coding: utf-8 -*- import re #过滤掉除了中文以外的字符 str = "hello,world!!%[545]你好234世界。。。"...

redis数据库及与python交互用法简单示例

本文实例讲述了redis数据库及与python交互用法。分享给大家供大家参考,具体如下: redis数据操作 1.string类型:主要存储字符串 操作...

Pytorch训练过程出现nan的解决方式

Pytorch训练过程出现nan的解决方式

今天使用shuffleNetV2+,使用自己的数据集,遇到了loss是nan的情况,而且top1精确率出现断崖式上升,这显示是不正常的。 在网上查了下解决方案。我的问题是出在学习率上了...