-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path04_lambdas.py
49 lines (32 loc) · 1.27 KB
/
04_lambdas.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# LAMBDAS
"""
Las lambdas son funciones anónimas en una única línea. Son muy breves y simples
pero muy útiles cuando se pretenden realizar acciones muy concretas.
Pueden ejecutarse dentro de los parámetros de otras funciones y/o guardar la
función entera dentro de una variable.
SINTAXIS
lambda <argumentos>: lo_que_es_devuelto
"""
# guardamos la función en una variable
sum_two = lambda number_one, number_two: print(number_one + number_two)
# llamamos a la función
sum_two(4, 3) # 7
sum_two(11, 23) # 34
# también pueden retornar el valor
full_name = lambda first, last: f"{first} {last}"
print(f"Hi {full_name('Naia', 'Larrea')}") # Hi Naia Larrea
# llamar una lambda desde una función
"""
'reduce' recibe dos parámetros:
1. una función
2. un iterable
e itera por todos los componentes devolviendo lo que le indique la función, y
solo devuelve un único valor, de ahí que se llame 'reduce'
Es un ejemplo perfecto para utilizar lambdas! Vamos a realizar la suma de todos
los elementos dentro de una lista utilizando una función lambda que recoja dos
números y los sume
"""
from functools import reduce
numbers = [1, 2, 3, 4, 5, 6, 7]
sum_of_numbers = reduce((lambda total, current: total + current), numbers)
print(sum_of_numbers) # 28