Combining Iterables with Fillvalue in Zip Longest

  • Share this:

Code introduction


The function is used to combine multiple iterable objects into an iterator. If one of the iterable objects is exhausted, fillvalue is used to fill in the remaining positions.


Technology Stack : Built-in library

Code Type : Function

Code Difficulty : Intermediate


                
                    
def zip_longest(*args, fillvalue=None):
    iters = [iter(arg) for arg in args]
    while True:
        result = []
        for iter_ in iters:
            try:
                result.append(next(iter_))
            except StopIteration:
                result.append(fillvalue)
        if not result:
            break
        yield result