在 zip() 函数中,如果长度不同的可迭代对象对应的元素位置不一致,则会出现数据不匹配的问题。在 Python2 中,zip() 函数会在可迭代对象中的最短长度处停止,而在 Python3 中,则会在最长长度处停止。为了处理长度不一致的情况,可以使用 itertools.zip_longest() 函数。如果出现某个可迭代对象的元素数量不足时,zip_longest() 函数会默认补充 None。以下是代码示例:
from itertools import zip_longest
list1 = [1, 2, 3]
list2 = [4, 5]
for i, j in zip_longest(list1, list2):
print(i, j)
输出结果为:
1 4
2 5
3 None