def distinct(lst):
        seen = set()
        for item in lst:
            if item not in seen:
                yield item
                seen.add(item)
                
a = [1,3,1,2,6]
b = ['a','ab','a','ab']

print(list(distinct(a)))
print(list(distinct(b)))