def filterer(l1, l2):
    seen = set()
for e1, e2 in zip(l1, l2):
    if e2 not in seen:
        seen.add(e2)
else:
    yield e1, e2
list(filterer(list1, list2))
zip(*filterer(list1, list2))
Удалить первые встреченные элементы из списка