def iter_drop_n(data, condition, drop):
    dropped = 0
for item in data:
    if dropped >= drop:
        yield item
continue
if condition(item):
    dropped += 1
continue
yield item
data = [1, 10, 2, 9, 3, 8, 4, 7]
out = list(iter_drop_n(data, lambda x: x < 5, 3))
Удалите первые N элементов, которые соответствуют условию в списке Python.