I want to ake a generator function that loops over an input iterable sequence, yielding one element at a time, but skipping duplicates. An example code is below:
numbers = [4, 5, 2, 6, 2, 3, 5, 8]
nums = unique(numbers)
next(nums)
4
next(nums)
5
next(nums)
2
next(nums)
6
next(nums)
3
next(nums)
8
Does anyone ave any ideas why this code is not printing?
def unique(iterable):
seen = set()
for n in iterable:
if n not in seen:
seen.add(n)
yield n
numbers = [4, 5, 2, 6, 2, 3, 5, 8]
nums = unique(numbers)
print(next(nums))