• python zip()函数的使用


      解释:

      后缀为zip的文件肯定都见过吧?zip是打包压缩好的一个文件,所以,zip()函数也简单的理解为打包压缩函数,将不同个数相同类型的字段结合在一起。

      官方定义为:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

    看两段代码:

    字符串:

    a = '1111'
    b = '22222'
    print "字符串zip():",zip(a,b)
    print "字符串解压zip得到的是列表,里面是元组:",zip(*zip(a,b))
    za,zb =zip(*zip(a,b))
    print "za is {za},zb is {zb}".format(za=za,zb=zb)

    结果:

    字符串zip(): [('1', '2'), ('1', '2'), ('1', '2'), ('1', '2')]
    字符串解压zip得到的是列表,里面是元组: [('1', '1', '1', '1'), ('2', '2', '2', '2')]
    za is ('1', '1', '1', '1'),zb is ('2', '2', '2', '2')

    列表:

    la = [1,2,3,4]
    lb = [1,2,3,4,5]
    print "列表zip():",zip(la,lb)
    print "列表解压zip得到的是列表,里面是元组:",zip(*zip(la,lb))
    zla,zlb = zip(*zip(la,lb))
    print "zla is {zla},zlb is {zlb}".format(zla=zla,zlb=zlb)

    执行结果:

    列表zip(): [(1, 1), (2, 2), (3, 3), (4, 4)]
    列表解压zip得到的是列表,里面是元组: [(1, 2, 3, 4), (1, 2, 3, 4)]
    zla is (1, 2, 3, 4),zlb is (1, 2, 3, 4)

    元组:

    ta = [1,2,3,4]
    tb = [1,2,3,4,5]
    print "元组zip():",zip(ta,tb)
    print "元组解压zip得到的是列表,里面是元组:",zip(*zip(ta,tb))
    zta,ztb = zip(*zip(ta,tb))
    print "zta is {zta},ztb is {ztb}".format(zta=zta,ztb=ztb)
    
    执行结果:
    元组zip(): [(1, 1), (2, 2), (3, 3), (4, 4)]
    元组解压zip得到的是列表,里面是元组: [(1, 2, 3, 4), (1, 2, 3, 4)]
    zta is (1, 2, 3, 4),ztb is (1, 2, 3, 4)

    遍历:

    la = [1,2,3,4]
    lb = [1,2,3,4,5]
    
    for i,j in zip(la,lb):
        print i,j
    
    执行结果:
    1 1
    2 2
    3 3
    4 4

      总结:有以上可以看出,1.只要可以迭代的相同类型的可以压缩成一个元素是元组的列表。

        2.解压之后都是元素为元组的列表。

            3.以长度最少的为标准。

  • 相关阅读:
    php utf-8
    thinkPHP--关于域名指向的问题
    PHP命名空间(Namespace)的使用详解
    thinkphp 动态配置
    枚举之称硬币
    5.7
    5.6
    5.5(OI一本通开始)
    5.4
    5.3
  • 原文地址:https://www.cnblogs.com/peiminer/p/9437896.html
Copyright © 2020-2023  润新知