python 中zip()函数的使用

  • zip(*iterables)函数的定义:

  • zip()函数的对象Iterables,iterables可以有多个参数(元组,列表等可迭代对象)组成。通过zip()函数返回一组元组数据,每个元组中的第i个元素对应每个Iterables参数中的第i个元素。如果iterables的参数如果元素个数不同,则只返回元组的个数等于所有参数中元素最小的个数。
  • 1、当iterables中元素相同时:
  • a=[1,2,3,4,5]
    b=(1,2,3,4,5)
    c="zhang"
    zz=list(zip(a,b,c))#注意使用zip()将a,b,c逐元素拼接后,得出的为zip类型的。需要用list或tuple转换一下才能显示出zz的结果
    zz
    输出结果
    [(1, 1, 'z'), (2, 2, 'h'), (3, 3, 'a'), (4, 4, 'n'), (5, 5, 'g')]
  • 2、当iterables中元素不相同时,组成的元组个数等于iterables中参数中元素最小的个数:
  • import numpy as np
    a=[1,2,3,4,5]
    b=(1,2,3)
    c="zhang"
    zz=list(zip(a,b,d))
    zz
    得出zz的元组*3个元素,输入iterables中b的元素个数相同:
    [(1, 1, 'z'), (2, 2, 'h'), (3, 3, 'a')]

    3.当ietables中只有一个参数时:

  • import numpy as np
    a=(1,2,3,4)
    zz=list(zip(a))
    zz
    输出结果:[(1,), (2,), (3,), (4,)]

    4.zip()中zip(**iteables)的使用:zip(**iteables)可将得出的元组的每个元素分别取出

  • a=[1,2,3]
    b=[4,5,6]
    c=[7,8,9]
    zz=zip(a,b,c)
    x,y,z=zip(*zz)
    print(x)
    print(y)
    print(z)

    输出结果:

    (1, 2, 3)

    (4, 5, 6)

    (7, 8, 9)

上一篇:Python3版本中的filter函数,map函数和reduce函数


下一篇:Python中enumerate函数用法详解