def f(items, key=None):
s = set()
for item in items:
val = item if key is None else key(item)
if val not in s:
yield item
s.add(val)
arr = [1.1, 1.2, 2.1, 3.0]
y = f(arr, key=lambda d: sum([int(x) for x in str(d).split(".")]))
print(*y)