Duvida sobre o map().
Duvida sobre o map().
Olá, Guilherme, como vai?
O método map em Python serve para transformar todos os elementos de uma lista ou de qualquer outro objeto iterável sem a necessidade de criar um laço de repetição manual como o for. Ele aplica uma função específica a cada item dessa coleção e retorna um novo objeto contendo os resultados dessas aplicações. Essa técnica é fundamental na programação funcional e ajuda a manter o código mais limpo e direto ao ponto quando o objetivo é apenas converter dados de um formato para outro.
Por exemplo, para converter uma lista de strings que representam números em valores do tipo inteiro, você utilizaria o map da seguinte forma:
numeros_texto = ['10', '20', '30']
numeros_inteiros = list(map(int, numeros_texto))
print(numeros_inteiros)
Outro exemplo é quando precisamos calcular o quadrado de cada número em uma lista:
def quadrado(x): return x * x
valores = [1, 2, 3, 4]
resultado = list(map(quadrado, valores))
print(resultado)
O uso da função list em torno do map ocorre porque o map não retorna uma lista pronta logo após a sua execução. Em Python, ele cria um objeto do tipo iterador, que funciona como uma promessa de que os valores serão processados apenas quando forem realmente necessários. Isso é feito para economizar memória, já que o computador não precisa criar uma nova lista inteira de uma vez se você for apenas percorrer os dados depois.
Ao envolver o comando com list, você força o Python a percorrer todos os elementos do iterador imediatamente e armazená-los em uma estrutura de lista tradicional. Sem isso, ao tentar imprimir o resultado diretamente, você veria apenas uma indicação técnica do objeto na memória em vez dos valores convertidos.
Espero ter ajudado.
Siga firme nos seus estudos e conte com o fórum sempre que precisar.
Abraços :)