def mes_llarga_tram2(it, ltram):
    pmax = ''
    i = 0
    for paraula in it:
        if i == ltram:
            yield pmax
            pmax = ''
            i = 0
        if len(paraula) > len(pmax):
            pmax = paraula
        i = i+1
    
    yield pmax
            

import itertools

def grouper(iterable, n, fillvalue):
    # fórmula extreta del manual d'itertools
    args = [iter(iterable)] * n
    return itertools.zip_longest(*args, fillvalue=fillvalue)

def mes_llarga_tram2(it, n):
    itg = grouper(it, n, fillvalue='')
    itlen = map(lambda g:max(g, key=len), itg)
    return itlen

# tria la solucio que vulguis
mes_llarga_tram = mes_llarga_tram2

