Bem-vindo de volta, quero falar com você sobre algumas funções úteis que obtemos que realmente nos permitem
pensar em um paradigma de programação funcional.
O nome dessas funções é filtro de mapa.
Zipp.
E reduzi-los são funções muito, muito úteis e muito comuns que você escreverá muito quando for um programa
Python.
Então, vamos explorá-los.
Primeiro, vamos começar com o MAP.
E o mapa, na verdade, nos permite simplificar o código que temos aqui de multiplicação por dois.
Veja, com a matemática, eu o tenho disponível como uma função, como uma função embutida, e vemos
aqui que damos ao primeiro parâmetro uma função e, em seguida, o segundo parâmetro é iterável.
Uma boa maneira de pensar sobre isso é que queremos realizar algum tipo de ação aqui.
Então, uma função e, em seguida, os dados sobre os quais queremos agir.
Digamos, no nosso caso, um, dois, três.
Então, que ação queremos realizar?
Um dois três.
Bem, queremos multiplicar por dois, então digamos multiplicar.
Por dois.
Agora, tenho que mover isso para baixo porque temos que definir a função primeiro.
E execute-o assim, então, em vez de imprimir isso, vamos fazer.
Imprimir.
Assim, se eu executar.
Recebo um objeto de mapa neste local da memória.
E o mapa nos dá automaticamente esse objeto que ele criou nesta memória.
Portanto, para que possamos realmente visualizá-lo, temos que transformá-lo em uma lista como esta.
Então, se eu executar isso.
Ele diz que o objeto online para int não é iterável, bem, é porque com o MAP, não
precisamos mais criar uma lista e depois anexar a uma lista.
Veja, o legal do MAP é que eu forneço alguns dados e então esses dados são acionados por eles.
E tudo o que precisamos fazer com a função de mapa é ter uma função que retorne.
Esta parte, Eitam vezes dois, então, em vez de ter todo esse código, tudo o que precisamos fazer é dizer return.
Tempo do item para.
Então, vamos mudar esse parâmetro para item.
E observe o código um pouco mais detalhadamente.
Então, com o mapa, eu digo, ei, quero que você execute a função, multiplique por dois, observe aqui que
eu nem tenho os colchetes porque não preciso chamá-lo de mapa.
Isso é para mim?
O mapa apenas diz, ei, apenas me dê a função, eu cuidarei do resto.
Portanto, não estou chamando a função aqui.
O mapa vai chamar a função para mim.
Só estou dizendo, ei, quando ligo o mapa assim.
Quero que você use essa função neste endereço de memória e use esses dados.
Lembra do nosso paradigma de programação funcional?
Temos dados que geram ação, então separamos esses dois.
Agora, essa função vai pegar cada um dos itens de nossos comestíveis, no nosso caso, a primeira vez em que o item
será um, depois dois, depois três.
E então tudo o que precisamos fazer é retornar o efeito que queremos ter naquele item.
Em nosso caso, é para fazer isso fazendo este mapa executar automaticamente esta função para nós e percorrer todos os
itens no iterável e retornar para nós um novo objeto de mapa que iremos converter em uma lista
se eu executar isso.
Eu tenho dois, quatro, seis.
Agora, aqui está a parte legal, se eu fizer isso, digamos minha lista e eu digo um, dois, três.
E mudei minha lista aqui.
Assim e no final também imprimo minha lista se eu clicar em executar.
Você verá que minha lista não mudou.
Lembrar?
Uma função pura é uma função que não afeta o mundo externo dessa forma, o mapa nos permite criar uma
lista totalmente nova.
Isso não modifica minha lista.
Então minha lista é imutável, certo?
Nós não o alteramos e tudo o que ele faz é a função de mapa, cuida disso e retorna uma nova lista para nós.
Mas não afetamos o mundo exterior.
Não há efeitos colaterais nesta função.
Estamos simplesmente multiplicando item a item por dois, criando uma nova lista a partir disso.
E toda vez que fornecermos a mesma entrada, ela resultará na mesma saída.
Muito, muito legal e o mapa é extremamente útil porque sempre que tivermos algo que possamos
iterar e quisermos mudar, digamos que temos e-mails ou nomes de usuário e precisamos atualizar os nomes de usuário para,
digamos, serem todos maiúsculos .
Nesse caso, podemos iterar e, usando a função matemática, alterar todos os nomes de usuário em nossa lista para, digamos,
mapa de letras maiúsculas será uma daquelas funções que você usa muito em sua carreira de programação.
E espero que você possa ver aqui como é limpo e bom, novamente, usando paradigmas de programação funcional.
Vamos passar para o próximo.
Vamos falar sobre Filtro a seguir.