Tal como as suas congéneres map() e filter(), a função reduce() é uma built-in function da linguagem Python, que associa uma função e uma lista.
Relativamente à sintaxe, a reduce() é simples: reduce(função, lista, opcional). O valor opcional é um valor que, caso a lista seja nula, é tido como valor padrão. A função passada recebe dois argumentos: o primeiro, é o argumento actual da lista, enquanto que o segundo é o resultado da última chamada da função (caso exista).
lista = [1, 2, -3, 4, 5, -9] def soma(a, b): return a + b reduce(soma, lista) 0 # Explicação # ((((1 + 2) + (-3)) + 4) + 5) + (-9)) = 0 #
listas = [[1, 2, 3, 4, 5], [], [10, 11, 12, 13, 14]] for lista in listas: reduce((lambda x,y: x-y), lista, 0) -15 0 -60