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程序设计有所帮助。
相关推荐
-
python3中zip()函数使用详解
zip在python3中,处于优化内存的考虑,只能访问一次!!!(python2中可以访问多次),童鞋们一定要注意, * coding: utf-8 * zip()函数的定义:从参数中的多个迭代器取元素组合成一个新的迭代器: 返回: 返回一个zip对象,其内部元素为元组:可以转化为列表或元组: 传入参数: 元组.列表.字典等迭代器. 当zip()函数中只有一个参数时,zip(iterable)从iterable中依次取一个元组,组成一个元组. 在python 3.0中有个大坑,zip中的数据只能
-
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 = [
-
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
-
详解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 模拟了一个类似字典的一一对应的元组迭代对象,
-
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()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表).若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同.利用*号操作符,可以将list unzip(解压). 二.用法示例: 读者看看下面的例子,
-
对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()函数详解
前言 1.实验环境: Python 3.6: 2.示例代码地址:下载示例: 3.本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables)函数详解 zip()函数的定义 从参数中的多个迭代器取元素组合成一个新的迭代器: 返回: 返回一个zip对象,其内部元素为元组:可以转化为列表或元组: 传入参数:元组.列表.字典等迭代器. zip()函数的用法 当zip()函数中只有一个参数时 zip(iterable)从iterable中依次取
-
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 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()方法的应用.分享给大家供大家参考,具体如下: 假设有一个集合set, 需要对set中的每个元素指定一个唯一的id,从而组建成一个dict结构. 这个场景可以演化成,两个list/set或者一个set与一个list如何创建成为一个字典,如: A = ["a", "b", "c", "d"] B = [1, 2, 3, 4] ? ==> C = {"a":1, &qu
随机推荐
- .NET Visual Studio 代码性能分析工具
- VBS教程:VBScript 语句-Property Set 语句
- 解决tomcat的中文问题
- java解析XML几种方式小结
- PHP函数分享之curl方式取得数据、模拟登陆、POST数据
- Docker 教程之镜像创建及修改详细介绍
- centos7 用rpm安装mysql详解
- php你的验证码安全码?
- CentOS7下搭建ruby on rails开发环境
- Shell脚本调快调慢系统时间(测试服务器时使用)
- SQL SERVER 2000通讯管道后复用劫持
- 分析了一下JQuery中的extend方法实现原理
- jQuery取得select选择的文本与值的示例
- BootStrap注意事项小结(五)表单
- Url相对路径的问题总结
- 深入解析java虚拟机
- Node.js安装详细步骤教程(Windows版)详解
- python 3.6.7实现端口扫描器
- Vue中props的使用详解
- 15张Vim速查表-帮你提高N倍效率
