# -*- coding: utf-8 -*-
"""
Created on Thu Mar 19 21:09:42 2020
@author: labdodanilo.com
"""
#MAP(), REDUCE(), FILTER() E LAMBDA
#map() serve para aplicarmos uma função a cada elemento de uma lista
import math
lista1 = [1, 4, 9, 16, 25]
lista2 = map(math.sqrt, lista1)
print(lista2)
#REDUCE()Sua utilidade está na aplicação de uma função a todos os valores do conjunto
import operator #necessário para obter a função de soma
valores = [1, 2, 3, 4, 5]
soma = reduce(operator.add, valores)
print (soma)
#FILTER() filtra os elementos de uma sequência.
def maior_que_zero(x):
return x > 0
valores = [10, 4, -1, 3, 5, -9, -11]
print (filter(maior_que_zero, valores))
#LAMBDA()
valores = [10, 4, -1, 3, 5, -9, -11]
print filter(lambda x: x > 0, valores)
#saida [10, 4, 3, 5]