Map

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]

Filter

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)