您的位置:首页 > 编程语言 > Python开发

python zip()函数用法详解

2018-05-02 20:52 429 查看

  zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回一个zip对象,可以有这个对象生产这些元组组成的列表(可以使用list)。

下面用一个例子来解释:

a=zip([1,2,3],['a','b','c'])
print(a)          #<zip object at 0x02D1D4E0>
print(list(a))           #[(1, 'a'), (2, 'b'), (3, 'c')]

上面其实可以看出一个打包的过程,对应的就有解包的方法,用'*'操作符可以实现解包:

a=zip([1,2,3],['a','b','c'])
print(list(zip(*a)))    #    [(1, 2, 3), ('a', 'b', 'c')]

注意,zip返回的本质是一个生成器,如果利用list,或其他方法迭代后,生成器就是空的了。我们用上面的例子来说明这问题。

a=zip([1,2,3],['a','b','c'])
print(list(a))           #[(1, 'a'), (2, 'b'), (3, 'c')]
print(list(a))      #[]   因为上面已经把生成器使用了

另外当传入的两个参数的长度不同是,按短的进行处理:

a=zip([1,2,3,4],['a','b','c'])
print(list(a))           #[(1, 'a'), (2, 'b'), (3, 'c')]

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: