Если я правильно понял суть вопроса - то:
def clean_list(a):
out = []
for im in a:
tmp = [im, type(im)]
if not tmp in out:
out.append(tmp)
return [x[0] for x in out]
print(clean_list([1, 1, 2.0, 2, 2.0, 3, 1, 2, 3.0, 3.0, 2.0, 4, 4.0, 3.0]))
[1, 2.0, 2, 3, 3.0, 4, 4.0]