import itertools


def yoba(data, eq):

    ndata = []
    for v in data:

        if not any(map(eq, itertools.repeat(v), ndata)):

            ndata.append(v)

    return ndata

data = (1, 1.0, 1.0 + 0.0, "1", 2, 2, 2, 1, 2 ** 16, 2 ** 16 + 0)
print(yoba(data, lambda a, b: a == b))
print(yoba(data, lambda a, b: a is b))
print(yoba(data, lambda a, b: a == b and type(a) is type(b)))
