add = lambda x, y: x + y
print(add(5, 3))


def add(x, y):
    return x + y


print(add(5, 3))


print((lambda x, y: x + y)(5, 3))


def doble(x):
    return x * 2


mi_lista = [1, 2, 3, 4, 5, 6]
lista_nueva = list(map(doble, mi_lista))
print(lista_nueva)  # [2, 4, 6, 8, 10, 12]


mi_lista = [1, 2, 3, 4, 5, 6]
lista_nueva = list(map(lambda x: x * 2, mi_lista))
print(lista_nueva)  # [2, 4, 6, 8, 10, 12]


mi_lista = [18, -3, 5, 0, -1, 12]
lista_nueva = list(filter(lambda x: x > 0, mi_lista))
print(lista_nueva)  # [18, 5, 12]


def multiplicar_por(x):
    def temp(n):
        return x * n

    return temp


duplicar = multiplicar_por(2)
print(duplicar(6))
triplicar = multiplicar_por(3)
print(triplicar(5))
diez_veces = multiplicar_por(10)
print(diez_veces(12))


def multiplicar_por(n):
    return lambda x: x * n


duplicar = multiplicar_por(2)
print(duplicar(6))
triplicar = multiplicar_por(3)
print(triplicar(5))
diez_veces = multiplicar_por(10)
print(diez_veces(12))
