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 = [4, 5, 6, 7]
xy = zip(x, y)
print xy
运行的结果是:

[(1, 4), (2, 5), (3, 6)]

从这个结果可以看出zip函数的长度处理方式。

3.示例3:

x = [1, 2, 3]
x = zip(x)
print x
运行的结果是:

[(1,), (2,), (3,)]

从这个结果可以看出zip函数在只有一个参数时运作的方式。

4.示例4:

x = zip()
print x
运行的结果是:

[]

从这个结果可以看出zip函数在没有参数时运作的方式。

5.示例5:

复制代码
x = [1, 2, 3]

y = [4, 5, 6]

z = [7, 8, 9]

xyz = zip(x, y, z)

u = zip(*xyz)

print u
复制代码
运行的结果是:

[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

一般认为这是一个unzip的过程,它的运行机制是这样的:

在运行zip(*xyz)之前,xyz的值是:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

那么,zip(*xyz) 等价于 zip((1, 4, 7), (2, 5, 8), (3, 6, 9))

所以,运行结果是:[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

注:在函数调用中使用*list/tuple的方式表示将list/tuple分开,作为位置参数传递给对应函数(前提是对应函数支持不定个数的位置参数)

6.示例6:

x = [1, 2, 3]
r = zip(* [x] * 3)
print r
运行的结果是:

[(1, 1, 1), (2, 2, 2), (3, 3, 3)]

它的运行机制是这样的:

[x]生成一个列表的列表,它只有一个元素x

[x] * 3生成一个列表的列表,它有3个元素,[x, x, x]

zip(* [x] * 3)的意思就明确了,zip(x, x, x)

参考:
https://blog.csdn.net/IAlexanderI/article/details/70040125

Python中zip函数相关推荐

  1. python中zip()函数的用法_Python zip()函数用法实例分析

    本文实例讲述了python zip()函数用法.分享给大家供大家参考,具体如下: 这里介绍python中zip()函数的使用: >>> help(zip) Help on built ...

  2. Python中zip()函数的解释和可视化

    文章来源于机器学习算法与Python实战,作者爱学习的胡同学 zip()的作用 先看一下语法: zip(iter1 [,iter2 [...]]) -> zip object Python的内置 ...

  3. ZH奶酪:Python中zip函数的使用方法

    定义:zip([iterable, -]) zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些 tuples组成 ...

  4. python中zip函数的使用方法

    Python 中的 zip 函数可以将多个可迭代对象中的元素打包成一个个元组,然后返回一个可迭代的 zip 对象.比如: # 两个可迭代对象 a = [1, 2, 3] b = [4, 5, 6]# ...

  5. python中zip函数详解_Python中zip函数用法

    看openstack的代码,遇到一个内建函数zip不明白其意思: # Adjust the weights in the grid by the functions weight adjustment ...

  6. Python 中 zip() 函数的用法

    zip函数的原型为:zip([iterable, -])   参数 iterable 为可迭代的对象,并且可以有多个参数.   该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 ...

  7. Python中zip函数的用法

    def add(a,b):     print(a+b)     for a,b in zip([1,2,3],[4,5,6]):     add(a,b) 输出结果: 5 7 9 for后面的变量和 ...

  8. zip在python中的用法_Python中zip()函数用法实例教程

    本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...])zip()是Python的一个内建函 ...

  9. python中zip什么意思_浅谈Python中的zip()与*zip()函数详解 python的zip函数加上一个*号,是什么含义...

    python 当中的zip( )函数到底是干嘛的?你越来越善解人意,就没人在意你的委屈和脾气. zip([1,2,3],['a','b','c']) 结果是 [(1, 'a'), (2, 'b'), ...

最新文章

  1. Cordova环境搭建
  2. myBatis xml if、where、if-else?、foreach 心得
  3. 埃斯顿机器人 王杰高_埃斯顿自动化王杰高博士受邀赴韩参加“ROBOT WORLD 2016”等一系列相关活动...
  4. 【STM32】【STM32CubeMX】STM32CubeMX的使用之三:UART串口通信
  5. 微课|中学生可以这样学Python(例4.2):打印九九乘法表
  6. 股价狂涨 500 亿,小米手机业务与造车可否兼得?
  7. javascript学习方法分享
  8. 《金字塔原理》读书笔记
  9. McAfee:僵尸网新威胁远甚Conficker
  10. 2022-2028年中国企业总部管理行业市场专项调查及投资前景分析报告
  11. 【NOIP2018复习】可见点数【数论】
  12. 《第一行代码 第二版》Android studio java开发学习笔记+源码
  13. 微信小程序开发实战(12):滑杆组件(slider)和form组件
  14. 【教程】Ubuntu安装、使用gephi
  15. spring boot 2.5.5 reference chapter 5 生词
  16. 查看jenkins端口linux,Jenkins修改端口号(成功率高)
  17. JAVA开发方向和就业方向
  18. Anemometer适应新版pt-query-digest需要的调整
  19. Invalid project description.错误原因分析与解决方案
  20. 图书管理系统-用户信息维护-查询

热门文章

  1. 单向链表的python实现
  2. git的安装和简单使用
  3. 进度管理工具 planner
  4. 伪响应式开发(PC和Mobile分离)
  5. 没关系,因为你是好人呀
  6. Fckeditor漏洞利用总结
  7. Linux查看和注销用户
  8. VUE 相关问题积累
  9. DS8700 的CPU、缓存的选择及配置
  10. redis的基础配置