Как filter() и reduce() работают изнутри?

Про zip и map я нашёл. Но вот как работают изнутри эти 2 - без понятия. В идеале хотел бы увидеть примерный код, ну или псевдокод


Ответы (1 шт):

Автор решения: Artyom Lazovikov

filter

def _filter(func, iterable):
    for el in iterable:
        if func(el):
            yield el

reduce (tnx @insolor)

def _reduce(func, iterable):
    iterable = iter(iterable)
    value = next(iterable)
    for element in iterable:
        value = func(value, element)
    return value

реализация в functools https://github.com/python/cpython/blob/master/Lib/functools.py#L476

→ Ссылка