Capítulo Anterior: Expressões Regulares, Avançado
Próximo Capítulo: Compreensão Lista

Lambda, filtro, reduzir e mapa

Lambda Operador

Alguns gostam, outros odeiam e muitos têm medo de o operador lambda. Estamos confiantes de que você vai gostar, quando tiver terminado com este capítulo do nosso tutorial., Se não, você pode aprender tudo sobre” list Comprehensions”, Guido van Rossums preferiu a maneira de fazê-lo, porque ele não gosta de Lambda, mapa, filtro e reduzir também.a função Lambda é uma forma de criar pequenas funções anônimas, ou seja, funções sem nome. Estas funções são funções descartáveis, ou seja, são apenas necessárias onde foram criadas.As funções Lambda são usadas principalmente em combinação com o filtro de funções(), mapear() e reduzir().O recurso lambda foi adicionado ao Python devido à demanda de programadores Lisp.,
a sintaxe geral de uma função lambda é bastante simples:
lambda argument_list: expression
a lista de argumentos consiste de uma lista separada por vírgulas de argumentos e a expressão é uma expressão aritmética usando esses argumentos. Você pode atribuir a função a uma variável para dar-lhe um nome.
o seguinte exemplo de uma função lambda retorna a soma de seus dois argumentos:

>>> f = lambda x, y : x + y>>> f(1,1)2

a função map ()

A vantagem do operador lambda pode ser vista quando ele é usado em combinação com a função map ().,
map () é uma função com dois argumentos:

r = map(func, seq)

o primeiro argumento func é o nome de uma função e a segunda sequência a (por exemplo, uma lista) seq. map () aplica a func da função a todos os elementos da sequência seq. Ele retorna uma nova lista com os elementos alterados pelo funcIn o exemplo acima não usamos lambda. Usando lambda, não teríamos que definir e nomear as funções fahrenheit() e celsius(). Você pode ver isso na seguinte sessão interativa:map() pode ser aplicado a mais de uma lista. As listas têm de ter o mesmo comprimento., (mapa) vai applyits função lambda para os elementos da lista de argumento, isto é, que primeiro aplica-se aos elementos com o 0 índice e, em seguida, para os elementos com o 1º índice até o n-ésimo índice alcançado:

>>> a = >>> b = >>> c = >>> map(lambda x,y:x+y, a,b)>>> map(lambda x,y,z:x+y+z, a,b,c)>>> map(lambda x,y,z:x+y-z, a,b,c)

podemos ver no exemplo acima, que o parâmetro x recebe os seus valores a partir da lista a, enquanto y getsits valores de b e z a partir de lista c.

Filtragem

A função de filtro(função, lista) oferece uma maneira elegante para filtrar todos os elementos de uma lista,para o qual a função retorna Verdadeiro.
O filtro de função (f,l) precisa de uma função f como seu primeiro argumento., f devolve um valor booleano, ou seja, eitherTrue ou False. Esta função será aplicada a todos os elementos da lista l. só se o f devolve True é que o elemento da lista será incluído na lista de resultados.

reduzir uma lista

a função reduzir (func, seq) aplica continuamente a função func() para a sequência seq. Devolve um valor único.,
Se seq = , chamando reduzir(func, seq) funciona assim:
Podemos ilustrar este processo no seguinte exemplo:

>>> reduce(lambda x,y: x+y, )113

O diagrama a seguir mostra as etapas intermediárias do cálculo:

Exemplos de reduzir()

Determinar o máximo de uma lista de valores numéricos usando a reduzir:

>>> f = lambda a,b: a if (a > b) else b>>> reduce(f, )102>>> 

Calcular a soma dos números de 1 a 100:

>>> reduce(lambda x, y: x+y, range(1,101))5050

Capítulo Anterior: Expressões Regulares, Avançado
Próximo Capítulo: Compreensão Lista

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *