Вы можете использовать set
, чтобы отслеживать предметы, которые вы получили, и, таким образом, сохранять порядок предметов, как показано ниже:
def unique(sequence):
yielded = set()
for i in sequence:
if i in yielded:
continue
yield (i)
yielded.add(i)
Пример вывода с заданного ввода:
>>> for x in unique([3,4,5,7,3,9,0,3]):
print(x)
3
4
5
7
9
0
>>>