import itertools

def dif_finites1(itp):
    (x1, y1) = next(itp)
    yield (x1, y1)
    for (x, y) in itp:
        yield (x, y, y-y1)
        y1 = y

def dif_finites2(itp):
    primer = next(itp)
    itp2 = itertools.chain([primer], itp)
    itp3 = itertools.pairwise(itp2)
    itdif = map(lambda t: (t[1][0], t[1][1], t[1][1] - t[0][1]), itp3)
    itdif_p = itertools.chain([primer], itdif)
    return itdif_p 

# tria la solució que vulguis
dif_finites = dif_finites1

