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')
如果感觉对您有帮助,麻烦点个赞哦
上一篇: HashMap多线程下的问题
下一篇: 定时任务开多线程
推荐阅读
-
Tomcat中应用调用Libvirt库进行控制时可能导致线程卡死问题的解决方法
-
360浏览器中的快剪辑怎么关闭?360浏览器关闭快剪辑方法
-
linux(centos)中的cron计划任务配置方法[详细]
-
详解nodejs中exports和module.exports的区别
-
thinkphp中session和cookie无效的解决方法
-
php中http与https跨域共享session的解决方法
-
c#调用python脚本实现排序(适用于python脚本中不包含第三方模块的情况)
-
详解Vue文档中几个易忽视部分的剖析
-
红黑树的插入详解及Javascript实现方法示例
-
Python中的MongoDB基本操作:连接、查询实例