美文网首页
zip的压缩与解压

zip的压缩与解压

作者: alan2yang | 来源:发表于2018-08-21 09:59 被阅读5次

    看网上有不少旧的介绍都存在一定的问题,先上代码,再细说:

    >>> x=[1,2,3]
    >>> y=[4,5,6]
    >>> a=zip(x,y)
    >>> b=list(a)
    >>> print(b)
    [(1, 4), (2, 5), (3, 6)]
    >>> c=zip(*b)
    >>> print(c)
    <zip object at 0x0000025B5B590048>
    >>> print(list(c))
    [(1, 2, 3), (4, 5, 6)]
    
    1. zip()压缩
      zip()内置函数的压缩功能是针对可迭代对象的,即函数中的参数必须是可迭代对象,如
      a=zip(x,y)
      x,y都是可迭代的,但压缩之后获得的是zip对象,如
      print(c)的结果

    2. zip()解压缩
      解压缩的原理其实还是压缩,只不过压缩的对象是
      *b==>(1, 4), (2, 5), (3, 6)
      也就是说:
      c=zip(*b) 等同于
      c=zip((1, 4), (2, 5), (3, 6))
      这里的知识点是*的解包功能 ,那么解压缩的结果不言自明

    但要注意的是:
    解压缩的对象是b:
    b=list(a)
    而不是直接压缩的结果a,直接对a是无法解压的

    相关文章

      网友评论

          本文标题:zip的压缩与解压

          本文链接:https://www.haomeiwen.com/subject/zeldiftx.html