项目场景:
同时遍历两个不同的长度的数组,
L1=[1,2,3], L2=[1,2,3,4]
使用zip函数只能遍历到到3,
希望全部都能遍历,自行填充缺损值就行。
问题描述:
l1 = [1, 2, 3]
l2 = [1, 2, 3, 4]
for i, j in zip(l1, l2):
if j:
print(i, j)
else:
print("j为空")
#1 1
#2 2
#3 3
解决方案:
使用zip_longest,
通过fillvalues指定缺损值,fillvalue默认为None,
如将fillvalue为None,可以在循环写相关的逻辑进行判断。
from itertools import zip_longest
l1 = [1, 2, 3]
l2 = [1, 2, 3, 4]
for i, j in zip_longest(l1, l2, fillvalue=None):
print(i, j)
#1 1
#2 2
#3 3
#None 4