zoukankan      html  css  js  c++  java
  • Python zip函数

    This function returns a list of tuples, where the i-th tuple contains the i-th element from each of the argument sequences or iterables. The returned list is truncated in length to the length of the shortest argument sequence. When there are multiple arguments which are all of the same length, zip() is similar to map() with an initial argument of None. With a single sequence argument, it returns a list of 1-tuples. With no arguments, it returns an empty list.

    The left-to-right evaluation order of the iterables is guaranteed. This makes possible an idiom for clustering a data series into n-length groups using zip(*[iter(s)]*n).

    zip() in conjunction with the * operator can be used to unzip a list:

    pythonAPI上面说的

    下面自己上例子:

    x=[1,2,3]
    y=[4,5,6]
    z=[7,8,9]
    
    print zip(x)
    
    print zip(x,y)
    
    print zip(x,y,z)

    结果是:

    [(1,), (2,), (3,)]
    [(1, 4), (2, 5), (3, 6)]
    [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

    可以看出zip是把同一维度的数据放在一个list中

    w= zip(x,y,z)
    
    for a,b,c in w:
        print 'a:{0},b:{1},c:{2}'.format(a,b,c)

    结果是:

    a:1,b:4,c:7
    a:2,b:5,c:8
    a:3,b:6,c:9

    for是把list中的tuple中的每个元素输出

    print type(w), type(w[1])
    <type 'list'> <type 'tuple'>
    x=[1,2,3]
    y=[4,5,6]
    z=[7,8,9]
    
    w= zip(x,y,z)
    print w
    print zip(*w)

    结果:

    [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
    [(1, 2, 3), (4, 5, 6), (7, 8, 9)]

    这是zip(*w)是把功能返回去而已

  • 相关阅读:
    python 模块和包以及他们的导入关系
    python time,random,os,sys,序列化模块
    python 可迭代对象,迭代器和生成器,lambda表达式
    python之拷贝(深浅)
    python 内置函数
    python 函数的递归
    python 装饰器
    python 函数基础知识整理
    @清晰掉 string.h之基础堵漏
    C和C++之间库的互相调用
  • 原文地址:https://www.cnblogs.com/theskulls/p/4769794.html
Copyright © 2011-2022 走看看