itertools.zip_longest()
Объединяет итерируемые объекты, дополняя короткие значением fillvalue.
Сигнатура
itertools.zip_longest(*iterables, fillvalue=None)Работает как встроенный zip(), но не останавливается на самой короткой последовательности, а продолжает до самой длинной, подставляя fillvalue вместо недостающих элементов.
import itertools
print(list(itertools.zip_longest([1, 2, 3], ['a', 'b'], fillvalue='-')))
# [(1, 'a'), (2, 'b'), (3, '-')]