in domainbed_measures/utils.py [0:0]
def zip_longest_padded(*iterables):
# zip('ABCD', 'xy') --> Ax By Cx Dy
sentinel = object()
iterators = [iter(it) for it in iterables]
iterator_lengths = [len(it) for it in iterables]
for _ in range(max(iterator_lengths)):
result = []
for it_idx, it in enumerate(iterators):
elem = next(it, sentinel)
if elem is sentinel:
iterators[it_idx] = iter(iterables[it_idx])
elem = next(iterators[it_idx], sentinel)
result.append(elem)
yield tuple(result)