Python fornece muitas funções integradas que são predefinidas e podem ser usadas pelo usuário final apenas chamando-as. Essas funções não apenas facilitam o trabalho dos programadores, mas também criam um ambiente de codificação padrão. Neste artigo, você aprenderá sobre três funções impressionantes: mapear (), filtrar e reduzir () em .
Antes de prosseguir, vamos dar uma olhada no conteúdo:
- O que são funções mapear, filtrar e reduzir em Python?
- Usando funções definidas pelo usuário e lambda em:
- Usando as funções map (), filter () e reduce () juntas
Então vamos começar. :)
O que são funções map (), filter () e reduce () em Python?
Conforme mencionado anteriormente, map (), filter () e reduce () são embutidos de Python. Essas funções permitem o aspecto de programação funcional de . Na programação funcional, os argumentos passados são os únicos fatores que decidem sobre a saída. Essas funções podem assumir qualquer outra função como parâmetro e também podem ser fornecidas a outras funções como parâmetros. Portanto, vamos agora dar uma olhada mais profunda em cada uma dessas funções.
A função map ():
A função map () é um tipo de ordem superior. Conforme mencionado anteriormente, essa função recebe outra função como parâmetro junto com uma sequência de iteráveis e retorna uma saída após aplicar a função a cada iterável presente na sequência. Sua sintaxe é a seguinte:
SINTAXE:
map (função, iteráveis)
Aqui, a função define uma expressão que, por sua vez, é aplicada aos iteráveis. A função de mapa pode assumir funções definidas pelo usuário, bem como funções lambda como um parâmetro.
Usando funções definidas pelo usuário e Lambda em:
Funções definidas pelo usuário em map ():
A função map () pode assumir funções definidas pelo usuário como parâmetros. Os parâmetros dessas funções são definidos exclusivamente pelo usuário ou pelo programador. Por exemplo:
EXEMPLO:
def newfunc (a): return a * a x = map (newfunc, (1,2,3,4)) #x é o objeto do mapa print (x) print (set (x))
RESULTADO:
{16, 1, 4, 9}
Como você pode ver, x é um objeto de mapa. A saída da próxima parte exibe a função de mapa tendo newfunc () como seu parâmetro e então aplica o a * a a todos os iteráveis. Como resultado, os valores de todos os iteráveis são multiplicados por si próprios e retornados.
NOTA: A saída não está na ordem dos valores dos iteráveis porque usei a função set (). Você também pode usar as funções list () ou tupla (), por exemplo:
EXEMPLO:
def newfunc (a): return a * a x = map (newfunc, (1,2,3,4)) #x é o objeto do mapa print (x) print (list (x))
RESULTADO:
[1, 4, 9, 16]
Você também pode passar mais de uma lista de parâmetros. Por exemplo:
EXEMPLO:
def func (a, b): retorna a + b a = map (func, [2, 4, 5], [1,2,3]) print (a) print (tupla (a))
RESULTADO:
(3, 6, 8)
Agora vamos ver como você pode usar funções lambda dentro da função map ().
Funções Lambda em map ():
As funções lambda são funções que têm qualquer nome. Essas funções são freqüentemente fornecidas como parâmetros para outras funções. Agora, vamos tentar incorporar funções lambda na função map (). Considere o seguinte exemplo:
EXEMPLO:
tup = (5, 7, 22, 97, 54, 62, 77, 23, 73, 61) newtuple = tuple (map (lambda x: x + 3, tup)) print (newtuple)
RESULTADO:
(8, 10, 25, 100, 57, 65, 80, 26, 76, 64)
A saída acima é o resultado da aplicação da expressão lambda (x + 3) a cada item presente na tupla.
A função filter ():
A função filter () é usada para criar uma lista de saída que consiste em valores para os quais a função retorna true. A sintaxe é a seguinte:
SINTAXE:
filtro (função, iteráveis)
Assim como map (), esta função pode ser usada também pode receber funções definidas pelo usuário, bem como funções lambda como um parâmetro.
EXEMPLO:
def func (x): if x> = 3: return x y = filter (func, (1,2,3,4)) print (y) print (list (y))
RESULTADO:
qual é a diferença entre c ++ e java
[3,4]
Como você pode ver, y é o objeto de filtro e a lista é uma lista de valores que são verdadeiros para a condição (x> = 3).
Usando lambda dentro do filtro ():
A função lambda que é usada como parâmetro realmente define a condição que deve ser verificada. Por exemplo:
EXEMPLO:
y = filtro (lambda x: (x> = 3), (1,2,3,4)) imprimir (lista (y))
RESULTADO: [3,4]
O código acima produz a mesma saída da função anterior.
A função reduz ():
A função reduz (), como o nome descreve, aplica uma determinada função aos iteráveis e retorna um único valor.
A sintaxe desta função é a seguinte:
SINTAXE:
reduzir (função, iteráveis)
A função aqui define qual expressão precisa ser aplicada aos iteráveis. Esta função precisa ser importada das ferramentas de função módulo . Por exemplo:
EXEMPLO:
das funções de importação, redução, redução (lambda a, b: a + b, [23,21,45,98])
RESULTADO: 187
No exemplo acima, a função de redução adiciona consecutivamente cada iterável presente na lista e retorna uma única saída.
As funções map (), filter () e reduce () em Python podem ser usadas juntas.
Usando as funções map (), filter () e reduce () em conjunto:
Ao fazer isso, as funções internas são resolvidas primeiro e, em seguida, as funções externas operam na saída das funções internas.
Vamos primeiro tentar passar a função filter () como um parâmetro para a função map ().
Usando filtro () no mapa ():
O código fornecido a seguir primeiro verifica se a condição (x> = 3) é verdadeira para os iteráveis. Então, a saída é mapeada usando a função map ().
EXEMPLO:
c = map (lambda x: x + x, filtro (lambda x: (x> = 3), (1,2,3,4))) print (list (c))
RESULTADO: [6, 8]
Se você filtrar inteiros maiores ou iguais a 3 da tupla fornecida, obterá [3,4] como resultado. Então, se você mapear isso usando a condição (x + x), você obterá [6,8], que é a saída.
Usando map () dentro do filtro ():
Quando você usa a função map () dentro da função filter (), os iteráveis são operados primeiro pela função map e, em seguida, a condição de filter () é aplicada a eles.
EXEMPLO:
c = filtro (lambda x: (x> = 3), mapa (lambda x: x + x, (1,2,3,4))) #lambda x: (x> = 3) imprimir (lista (c) )
RESULTADO: [4, 6, 8]
Usando map () e filter () em reduce ():
A saída das funções internas é reduzida de acordo com a condição fornecida para a função reduz ().
EXEMPLO:
d = reduzir (lambda x, y: x + y, map (lambda x: x + x, filtro (lambda x: (x> = 3), (1,2,3,4)))) imprimir (d)
RESULTADO: 14
A saída é o resultado de [6,8], que é o resultado das funções internas map () e filter ().
Com isso, chegamos ao final deste artigo nas funções map (), filter () e reduce em Python. Espero que você tenha entendido tudo claramente. Pratique o máximo possível e reverta sua experiência.
Tem alguma questão para nós? Mencione isso na seção de comentários deste blog “map (), filter () e reduce () Functions in Python” e entraremos em contato com você o mais breve possível.
Para obter conhecimento aprofundado sobre Python, juntamente com seus vários aplicativos, você pode se inscrever para com suporte 24/7 e acesso vitalício.