介绍

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

ps. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

例子

a = [1,2,3]

b = [4,5,6]

c = [4,5,6,7,8]

zipped = zip(a,b) # 打包为元组的列表

# 输出:[(1, 4), (2, 5), (3, 6)]

zip(a,c) # 元素个数与最短的列表一致

# 输出:[(1, 4), (2, 5), (3, 6)]

zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式

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

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)

到此这篇关于Python中zip函数如何使用的文章就介绍到这了,更多相关Python中的zip函数用法内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-06-02

python里zip函数使用_Python中zip函数如何使用相关推荐

  1. python中函数作用域_Python中的函数作用域

    在python中,一个函数就是一个作用域 name = 'xiaoyafei' def change_name(): name = '肖亚飞' print('在change_name里的name:', ...

  2. python count函数代码_python中count函数简单用法

    python中count函数简单用法 python中count函数的用法 Python count()方法 描述 Python count() 方法用于统计字符串里某个字符出现的次数.可选参数为在字符 ...

  3. python中pivot函数用法_python中pivot()函数基础知识点

    不同于以往为大家介绍的函数使用,我们利用pivot函数可以实现的方式,就是用来重塑数据使用的,在python的使用上并不常见,但是如果需要利用这种功能,基本上能够被我们选择调用的函数,pivot函数一 ...

  4. python中的open函数实例_Python中open函数注意点

    前段日子看了关于Python文件和流的一些文献,其中最基础的便是python的一个内建函数:open!!! 很简单的一个函数,他的原型是这样的: open(name,[,mode[,buffering ...

  5. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  6. python中函数包括参数函数吗_Python中的函数---函数的定义和参数

    本文是廖雪峰教程的笔记. 函数的定义 定义函数时,需要确定函数名和参数个数 def fun(x1,x2,x3):: 如果有必要,可以先对参数的数据类型做检查: 函数体内部可以用return随时返回函数 ...

  7. python返回值return用法_Python中return函数返回值代码实例用法

    本篇文章小编给大家分享一下Python中return函数返回值代码实例用法,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. return 添加返回值 r ...

  8. python scatter参数详解_Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

  9. python 遍历函数用法_python中enumerate函数遍历元素用法分析

    本文实例讲述了python中enumerate函数遍历元素用法.分享给大家供大家参考,具体如下: enumerate函数用于遍历序列中的元素以及它们的下标 示例代码如下: i = 0 seq = [' ...

最新文章

  1. ajax技术如何实现,ajax技术的基本原来以及实现过程
  2. 面向对象程序设计作业 6.1~6.4
  3. Xilinx下载方式(具体可以参考配置MCS文件时右下角help调出的doc)
  4. Exynos4412 Uboot 编译工具 —— 交叉工具链 arm-linux-gcc 的安装
  5. 在webstorm中使用Jade for Meteor,模板template语法“+templateName”不能使用的解决方案...
  6. 饮一盏Bug留香,唱一曲项目飞扬
  7. logstash增量读取mysql中的数据到es中
  8. MyBatis3整合Spring3、SpringMVC3
  9. 文献管理三剑客之endnote broken attachments
  10. 从零实现GPT-2,瞎写笑傲江湖外传,金庸直呼内行
  11. Linux vi 命令创建,Linux vi命令 创建文件
  12. springboot读取resources目录下文件
  13. 热敏打印计算机,热敏打印头工作原理是什么 热敏打印头原理介绍【详解】
  14. 基于SpringBoot的外卖点餐管理系统
  15. Android之设备加密
  16. 微信隐藏功能,你们快来瞧一瞧
  17. 系统集成项目管理工程师10大管理
  18. 投影矩阵(投影变换)解惑
  19. 怎么将不可编辑的英文PDF文档翻译成中文
  20. H3C交换机的简单配置

热门文章

  1. 2017-5-5 QQ面板 (用户控件、timer控件,轮询实现聊天功能)
  2. web迅雷影响服务器链接
  3. alios thing 信号量_AliOS Things 技术架构-阿里云开发者社区
  4. 怎么把html背景换白色,美图秀秀怎么将图片背景替换成白色?
  5. GoSurf真是奇怪啊。
  6. 01 HTML简介——笔记
  7. 正式宣布取消!能让 Linus 本人同谷歌微软达成一致的,只有它了!
  8. 高考数学数列题目解题技巧(全新的思路)
  9. Android实现带圆环的圆形头像(转载)
  10. Python财经实践,股票数据获取及可视化展示