Python中的zip函数使用示例

作者:junjie 时间:2021-05-15 01:10:53 

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
0
投稿

猜你喜欢

  • php返回相对时间(如:20分钟前,3天前)的方法

    2023-10-26 11:20:38
  • OpenCV+Python识别车牌和字符分割的实现

    2022-10-09 11:15:23
  • CSS雪碧:要还是不要?

    2009-11-16 13:01:00
  • python flask中静态文件的管理方法

    2022-12-11 01:32:40
  • PHP后台备份MySQL数据库的源码实例

    2023-09-04 14:55:11
  • Python+OpenCV实现分水岭分割算法的示例代码

    2021-01-11 05:01:38
  • 分类、属性、关键词与Tag

    2009-08-27 12:57:00
  • python中使用psutil查看内存占用的情况

    2022-11-11 11:26:22
  • 彻底删除thinkphp3.1案例blog标签的方法

    2023-11-21 12:01:01
  • asp连接MYSQL数据库的连接字符串(参数OPTION)

    2009-03-09 18:24:00
  • Python使用Dijkstra算法实现求解图中最短路径距离问题详解

    2022-07-31 02:40:33
  • python 返回一个列表中第二大的数方法

    2022-06-01 00:17:47
  • 用什么视角做产品

    2009-08-18 12:17:00
  • python实现发送QQ邮件(可加附件)

    2023-01-21 18:37:00
  • 人脸识别实战之Opencv+SVM实现人脸识别

    2021-01-06 09:32:13
  • mysql使用LOAD语句批量录入数据

    2010-03-18 16:19:00
  • python sleep和wait对比总结

    2023-04-30 18:26:04
  • Python嵌套函数,作用域与偏函数用法实例分析

    2022-12-03 08:46:15
  • 利用Python实现简单的相似图片搜索的教程

    2023-10-24 18:45:36
  • python 通过 socket 发送文件的实例代码

    2022-10-07 17:32:48
  • asp之家 网络编程 m.aspxhome.com