‫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.