Python – Itertools.zip_longest()
Python 的 Itertool 是一个模块,它提供了在迭代器上工作以生成复杂迭代器的各种函数。该模块可作为一种快速、高效的内存工具,可单独使用或组合使用以形成迭代器代数。
Python中的迭代器是一个可以像list、tuple、str等序列数据类型一样进行迭代的对象。
注意:更多信息请参考Python Itertools
Itertools.zip_longest()
该迭代器属于终止迭代器的类别。它按顺序交替打印可迭代的值。如果其中一个可迭代对象被完全打印,则剩余的值将由分配给fillvalue
参数的值填充。
句法:
zip_longest( iterable1, iterable2, fillval)
示例 1:
# Python code to demonstrate the working of
# zip_longest()
import itertools
# using zip_longest() to combine two iterables.
print ("The combined values of iterables is : ")
print (*(itertools.zip_longest('GesoGes', 'ekfrek', fillvalue ='_' )))
输出:
The combined values of iterables is :
('G', 'e') ('e', 'k') ('s', 'f') ('o', 'r') ('G', 'e') ('e', 'k') ('s', '_')
示例 2:
from itertools import zip_longest
x =[1, 2, 3, 4, 5, 6, 7]
y =[8, 9, 10]
z = list(zip_longest(x, y))
print(z)
输出:
[(1, 8), (2, 9), (3, 10), (4, None), (5, None), (6, None), (7, None)]