怎么用Python中的zip函数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个元组列表。
直接看示例:
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)]
从这个结果可以看出邮政函数的基本运作方式。
2。示例2:
代码如下:
x =, (1, 2, 3] 时间=y [4,, 5, 6, 7] xy =, zip (x, y) print xy
运行的结果是:
代码如下:
[(1,4),(2),5),(3,6))
从这个结果可以看出邮政函数的长度处理方式。
3。示例3:
代码如下:
x =, (1, 2, 3] x zip (x)=, print x
运行的结果是:
代码如下:
[(1),(2),(3)]
从这个结果可以看出邮政函数在只有一个参数时运作的方式。
4。示例4:
代码如下:
x =, zip () print x
运行的结果是:
代码如下:
[]
从这个结果可以看出邮政函数在没有参数时运作的方式。
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)]
一般认为这是一个解压缩的过程,它的运行机制是这样的:
在运行压缩(* xyz)之前,xyz的值是:[(1、4、7),(2、5、8),(3、6、9)]
那么,zip (* xyz)等价于邮政((1、4、7),(2、5、8),(3、6、9))
所以,运行结果是:[(1、2、3),(4、5、6),(7 8 9)]
注:在函数调用中使用*列表/元组的方式表示将列表或元组分开,作为位置参数传递给对应函数(前提是对应函数支持不定个数的位置参数)
6。示例6:
代码如下:
x =, (1, 2, 3] 时间=r zip (*, [x], *, 3) print r
运行的结果是:
代码如下:
[(1,1,1),,(2,,2,,,,(3,3,3)]
它的运行机制是这样的:
[x]生成一个列表的列的表,它只有一个元素x
[x] * 3生成一个列表的列的表,它有3个元素,[x, x, x]
zip (* [x] * 3)的意思就明确了,邮政(x, x, x)
看完上述内容,你们掌握怎么用Python中的zip函数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!