问题

如何同时遍历两个不同长度的列表呢?

今天遇到一个问题需要同时遍历两个列表,但是这两个列表长度却不一定相同,但还是想到了用zip,因为zip可以将对象打包成一个元组,这样就可以一起遍历了。于是我进行了如下尝试:

a = [1,2,3,4,5,6]
b = [11,12,13]

for i,j in zip(a,b):
    print(i,j)

输出结果:

1 11
2 12
3 13

但是我还希望有列表a中的5和6,显然这样简单地用zip不大可行

解决方案

使用itertools包中的zip_longest,使用方法如下:

from itertools import zip_longest
a = [1,2,3,4,5,6]
b = [11,12,13]

for i,j in zip_longest(a,b):
    print(i,j)

其返回结果为

1 11
2 12
3 13
4 None
5 None
6 None

最后修改:2021 年 09 月 17 日
如果觉得我的文章对你有用,请随意赞赏