python使用 zip 同时迭代多个序列示例
本文实例讲述了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的zip函数妙用,旋转矩阵详解
Python的zip函数 示例1: x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) print xyz 运行的结果是: [(1, 4, 7), (2, 5, 8), (3, 6, 9)] 从这个结果可以看出zip函数的基本运作方式. 示例2: x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) u = zip(*xyz) print u 运行的结果是:
-
Python中的zip函数使用示例
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表.具体意思不好用文字来表述,直接看示例: 1.示例1: 复制代码 代码如下: x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) print xyz 运行的结果是: [(1, 4, 7), (2, 5, 8), (3, 6, 9)] 从这个结果可以看出zip函数的基本运作方式. 2.示例2: 复制代码 代码如下: x = [1, 2, 3] y = [
-
python3中zip()函数使用详解
zip在python3中,处于优化内存的考虑,只能访问一次!!!(python2中可以访问多次),童鞋们一定要注意, * coding: utf-8 * zip()函数的定义:从参数中的多个迭代器取元素组合成一个新的迭代器: 返回: 返回一个zip对象,其内部元素为元组:可以转化为列表或元组: 传入参数: 元组.列表.字典等迭代器. 当zip()函数中只有一个参数时,zip(iterable)从iterable中依次取一个元组,组成一个元组. 在python 3.0中有个大坑,zip中的数据只能
-
python中map()与zip()操作方法
对于map()它的原型是:map(function,sequence),就是对序列sequence中每个元素都执行函数function操作. 比如之前的a,b,c = map(int,raw_input().split()),意思就是说把输入的a,b,c转化为整数.再比如: a = ['1','2','3','4'] print map(list,a) print map(int,a) 第一个map是把列表a中每个元素转化为列表,第二个map是把a中每个元素转化为整数. 而对于zip(),原型是
-
Python从list类型、range()序列简单认识类(class)【可迭代】
本文实例讲述了Python从list类型.range()序列简单认识类(class).分享给大家供大家参考,具体如下: list类型 定义: items = [] 这就定义了一个名叫items的list. 往里填充数据: items.append(1) items.append(3) items.append(4) print(items) # [1, 3, 4] range序列 上面那个list,如果我们要append进去0~9的数字.最好是利用循环. items = [] for x in
-
Python用zip函数同时遍历多个迭代器示例详解
前言 本文主要介绍的是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
-
python中zip()方法应用实例分析
本文实例分析了python中zip()方法的应用.分享给大家供大家参考,具体如下: 假设有一个集合set, 需要对set中的每个元素指定一个唯一的id,从而组建成一个dict结构. 这个场景可以演化成,两个list/set或者一个set与一个list如何创建成为一个字典,如: A = ["a", "b", "c", "d"] B = [1, 2, 3, 4] ? ==> C = {"a":1, &qu
-
Python zip()函数用法实例分析
本文实例讲述了Python zip()函数用法.分享给大家供大家参考,具体如下: 这里介绍python中zip()函数的使用: >>> help(zip) Help on built-in function zip in module __builtin__: zip(...) zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] Return a list of tuples, where each tuple c
-
Python中zip()函数用法实例教程
本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表).若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同.利用*号操作符,可以将list unzip(解压). 二.用法示例: 读者看看下面的例子,
-
浅谈Python中的zip()与*zip()函数详解
前言 1.实验环境: Python 3.6: 2.示例代码地址:下载示例: 3.本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables)函数详解 zip()函数的定义 从参数中的多个迭代器取元素组合成一个新的迭代器: 返回: 返回一个zip对象,其内部元素为元组:可以转化为列表或元组: 传入参数:元组.列表.字典等迭代器. zip()函数的用法 当zip()函数中只有一个参数时 zip(iterable)从iterable中依次取
-
详解Python3 对象组合zip()和回退方式*zip
zip即将多个可迭代对象组合为一个可迭代的对象,每次组合时都取出对应顺序的对象元素组合为元组,直到最少的对象中元素全部被组合,剩余的其他对象中未被组合的元素将被舍弃. keys = ['one', 'two', 'three'] values = [1, 2, 3] d = zip(keys, values) print(list(d)) 示例结果: [('one', 1), ('two', 2), ('three', 3)] 可以看到我们由 zip 模拟了一个类似字典的一一对应的元组迭代对象,
随机推荐
- jQuery构造函数init参数分析
- jQuery语法高亮插件支持各种程序源代码语法着色加亮
- 详解ionic本地相册、拍照、裁剪、上传(单图完全版)
- JS使用正则表达式实现关键字替换加粗功能示例
- python运行时间的几种方法
- window.print打印指定div指定网页指定区域的方法
- MySQL中查询日志与慢查询日志的基本学习教程
- PHP魔术方法以及关于独立实例与相连实例的全面讲解
- ThinkPHP实现更新数据实例详解(demo)
- 使用js+jquery实现无限极联动
- jQuery计算文本框字数及限制文本框字数的方法
- jsonp跨域请求详解
- 我教你学之注册表系统外观修改实例(5)
- 浅析C/C++中动态链接库的创建和调用
- Tomcat安装配置及Eclipse配置详解
- windows第四层负载均衡_基于NLB负载均衡详解
- Laravel框架实现的使用smtp发送邮件功能示例
- Python 3.x基于Xml数据的Http请求方法
- TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
- Python 3.6 -win64环境安装PIL模块的教程