def binomial_choice(L, p):
    iterator = iter(L)
while True:
    to_skip = numpy.random.geometric(p) - 1
yield next(itertools.islice(iterator, to_skip, None))
Учитывая итерацию, выберите каждый элемент независимо с вероятностью p