python中zip()函数的用法

Posted 脱离低级趣味

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中zip()函数的用法相关的知识,希望对你有一定的参考价值。

  zip函数的原型为:zip([iterable, …])

  参数iterable为可迭代的对象,并且可以有多个参数。该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。

  

当没有参数的时候

import numpy as np
zz=zip()
print(zz)
输出:[]

当只有一个参数的时候

import numpy as np
a=[1,2,3]
zz=zip(a)
print(zz)
输出:[(1,), (2,), (3,)]

当多个参数长度不同的时候

import numpy as np
a=[1,2,3]
b=[1,2,3,4]
c=[1,2,3,4,5]
zz=zip(a,b,c)
print(zz)
输出:[(1, 1, 1), (2, 2, 2), (3, 3, 3)]

zip() 和 * 操作符一起操作可以用来 unzip 一个列表,看下面的代码:

技术图片
import numpy as np
a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
zz=zip(a,b,c)
print(zz)

x,y,z=zip(*zz)
print(x)
print(y)
print(z)
技术图片
输出:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
(1, 2, 3)
(4, 5, 6)
(7, 8, 9)

注意这里输出的每个都是元组,而不一定是原来的类型,但是值不会发生变化(除非原来的参数列表长度不一样,看下面的代码)

以上是关于python中zip()函数的用法的主要内容,如果未能解决你的问题,请参考以下文章

python中zip()函数的用法

Python 中zip()函数的用法

Python的rangeenumerate和zip函数用法

python开发笔记之zip()函数用法详解

python-zip()函数lambdamap的单独与结合使用

Python中的zip()与*zip()函数详解