关于zip内置函数的应用及在 Python 2 和 3 的不同之处

zip函数作用:

将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象。

看例子:

>>>a = [1,2,3]
>>>b = [4,5,6]
>>>zipped = zip(a,b)     # 返回一个对象
zipped
<zip object at 0x103abc288> #输出的结果

这是在 python3 的版本下运行,此时需要用函数 list ( )( 即 list ( zipped ))来转换输出列表,但在 python2  中不用。

两者输出如下:

>>>[(1, 4), (2, 5), (3, 6)]

如果把上面看成打包,那下面这个就是摊开包( 打散 )。

引入操作符号 *  ,可将上面的元组解压为列表:

>>>a = [1,2,3]

>>>b = [4,5,6]

>>>zipped = zip(a , b)

list(zip(*zipped))     # python 3 // python 2用zip(*zipped)即可

[(1,2,3),(4,5,6)]      # 结果输出

原文地址:https://www.cnblogs.com/2640335699qqcom/p/12878453.html