美文网首页
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