分享Python的一个实用的函数zip_longest
zip_longest是zip函数的升级版
zip的用法:
a = [1,2,3,4]
b=[2,4,6,8,10,12,14,16]
for i,j in zip(a,b):
print(i,j)
output:
1 2
2 4
3 6
4 8
由于列表a和列表b长度不同,没法完全匹配,列表b的后半部分元素被舍弃了
zip_longest用法:
from itertools import zip_longest
a = [1,2,3,4]
b=[2,4,6,8,10,12,14,16]
for i,j in zip_longest(a,b):
print(i,j)
output:
1 2
2 4
3 6
4 8
None 10
None 12
None 14
None 16
zip_longest不会舍弃长度较长数组的后部分元素,由于较长列表的后部分元素在短列表中找不到对应,因此会将对应的位置设置为None