A função map()
em Python aplica uma função em cada item de um dado iterável (Listas, Dicionários, Tuplas)
Sua estrutura básica é a seguinte:
map(funcao, iteravel)
Vamos ver um exemplo simples, onde temos a seguinte lista:
minha_lista = [1, 2, 3, 4, 5]
Desejamos de alguma forma multiplicar por 2 cada item de minha_lista
Usaremos então a função map()
junto de uma outra função que iremos definir:
def dobro(valor)
return valor * 2
list(map(dobro, minha_lista)) # retorna [2, 4, 6, 8, 10]
<aside>
<img src="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5705cac2-2a7c-43c1-9423-b273dcdfe599/IMG_4043.png" alt="https://s3-us-west-2.amazonaws.com/secure.notion-static.com/5705cac2-2a7c-43c1-9423-b273dcdfe599/IMG_4043.png" width="40px" /> Note que convertemos o retorna da função map()
em uma lista, pois a função map retorna um iterador
</aside>
Podemos fazer também com Funções Anônimas
list(map(lambda valor: valor * 2, minha_lista)) # retorna [2, 4, 6, 8, 10]
A função filter()
em Python atua, como o nome diz, semelhante a um filtro, onde dada uma condição filtramos os elementos de um iterável
A estrutura básica da função filter()
é:
filter(funcao, iteravel)
No argumento funcao
passaremos a condição do nosso filtro
Imagine que temos a seguinte lista:
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Queremos filtrar os números pares (ignorando os ímpares)