1. 定义:
zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。
若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)。
2. 常见用法:
A. 使用zip()函数来可以把列表合并,并创建一个元组对的列表
在python
3.0
中
zip
()是可迭代对象,使用时必须将其包含在一个
list
中,方便一次性显示出所有结果
如图:
B. zip()参数可以接受任何类型的序列,同时也可以有两个以上的参数;当传入参数的长度不同时,zip能自动以最短序列长度为准进行截取,获得元组。
如图:
C. 搭配for循环,支持并行迭代
如图:
D. zip() 和 * 操作符一起操作可以用来 unzip 一个列表:
如图:
注:在函数调用中使用*list/tuple的方式表示将list/tuple分开,作为位置参数传递给对应函数(前提是对应函数支持不定个数的位置参数)
E:二维矩阵变换(矩阵的行列互换)
zip函数: 这种方法速度更快但也更难以理解,将list看成tuple解压,恰好得到我们“行列互换”的效果,再通过对每个元素应用list()函数,将tuple转换为list
F:以指定概率获取元素: