lambda es solamente una forma de crear una función sin nombre (lo haces cuando son operaciones cortas de una línea)
es equivalente a
Código Python:
Ver originaldef mi_funcion(x):
return (x, 1)
map(mi_funcion, mi_lista)
En ambos casos map() devuelve una nueva lista cuyos elementos son el resultado de aplicar la función a cada elemento de mi_lista, por ejemplo:
Código Python:
Ver originalmi_lista = [1, 2, 3]
map(mi_funcion, mi_lista) #crea la lista [(1, 1), (2, 1), (3, 1)]
En el ejemplo de reduce, la función es equivalente a
Código Python:
Ver originaldef mi_funcion(x, y):
return x + y
Lo que hace reduce() es acumular el resultado de la operación que le pasas:
Código Python:
Ver originalreduce(mi_funcion, mi_lista) # devuelve 6, el resultado de sumar los primeros dos elementos de la lista (1 y 2), y luego al resultado sumarle el elemento siguiente (3)
Espero que sea eso lo que causaba tu duda, si aún no queda claro, pregunta.
Saludos.