本文主要介绍Python中zip()函数的简单用法。通过示例代码进行了非常详细的介绍,对大家学习或使用Python有一定的参考价值。有需要的话一起学吧。
定义:zip([iterable,])
Zip()是Python的内置函数。它接受一系列迭代对象作为参数,将对象中对应的元素打包成元组(tuple),然后返回由这些元组组成的列表(list)。如果传入参数的长度不同,则返回列表的长度与参数中长度最短的对象相同。使用*操作符,您可以解压列表。请参见以下示例:
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)]
拉链(*拉链的)
[(1, 2, 3), (4, 5, 6)]
对于这个不常用函数,这里有一些例子来说明它的用法:
*二维矩阵变换(矩阵行列互换)
例如,我们有一个由列表描述的二维矩阵。
a=[[1,2,3]、[4,5,6]、[7,8,9]]
通过python列表派生,我们也可以轻松完成这个任务。
print[[row[col]for row in a]for col in range(len(a[0])]
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
另一种令人困惑的方法是使用zip函数:
a=[[1,2,3]、[4,5,6]、[7,8,9]]
zip(*a)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
地图(列表,zip(*a))
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
Zip函数接受任意数量的序列作为参数,将所有序列按照相同的索引组合成一个元素,这是一个由所有序列组合而成的新元组序列。新序列的长度以参数中最短的序列为准。此外,(*)运算符与zip函数配合使用,可以实现与zip相反的功能,即将合并后的序列拆分成多个元组。
tuple的新序列
x=[1,2,3],y=['a ',' b ',' c']
zip(x,y)
[(1,' a '),(2,' b '),(3,' c')]
新序列的长度基于参数中最短的序列。
x=[1,2],y=['a ',' b ',' c']
zip(x,y)
[(1,' a '),(2,' b')]
(*)运算符通过与zip函数配合,可以实现与zip相反的功能,即将合并后的序列拆分成多个元组。
x=[1,2,3],y=['a ',' b ',' c']
zip(*zip(x,y))
[(1,2,3),(' a ',' b ',' c')]
总结
这就是本文的全部内容。希望这篇文章的内容对你的学习或工作有一定的参考价值。谢谢你的支持。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。