Python zip_longest

分享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

你可能感兴趣的:(python)