欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python中的zip方法详解

程序员文章站 2022-05-02 18:07:18
...
         有时我们有这样的需求,想从两个列表中分别迭代元素,这时我们就可以使用python中的zip方法,事例如下:
l1 = [1,2,3,4,5]
l2 = ['a','b','c','d','e','f']
for x,y in zip(l1,l2):
    print(x,y)
   
  结果:
1 a
2 b
3 c
4 d
5 e
         zip(a,b)方法的工作原理是创建出一个迭代器,该迭代器可产生出元组(x,y),这里的x取自数组a,而y取自序列b,当其中某个输入数组中没有元素可以继续访问迭代时,整个迭代过程结束。因此,整个迭代的长度取决于最短数组长度
         如果这种行为不能满足需求,而要以最长的数组为主要便利数组,可以使用itertools.zip_longest()来替代。事例如下:
from itertools import zip_longest

l1 = [1,2,3,4,5]
l2 = ['a','b','c','d','e','f']
for i in zip_longest(l1,l2):
    print(i)
  
 结果:
 (1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
(5, 'e')
(None, 'f')
         也可以指定空的元素类型:
from itertools import zip_longest

l1 = [1,2,3,4,5]
l2 = ['a','b','c','d','e','f','g']
for i in zip_longest(l1,l2,fillvalue=0):
    print(i)

结果:
(1, 'a')
(2, 'b')
(3, 'c')
(4, 'd')
(5, 'e')
(0, 'f')
(0, 'g')
         如果感觉对您有帮助,麻烦点个赞哦
相关标签: 10分钟提升课