A mapfunção é uma ferramenta útil para aplicar um determinado processo ou função a cada elemento em uma lista e é encontrada tanto em Python quanto em JavaScript. Nesta postagem, veremos como mapfunciona em ambas as linguagens, juntamente com alguns exemplos de diferentes casos de uso e as diferenças entre os dois.
Imagine que você tem uma lista de ingredientes para uma receita e deseja criar uma nova lista com as medidas de cada ingrediente. Em Python, mapseria como um chef que pega cada ingrediente e diz a medida à medida que avança, sem anotá-la. Isso é mais eficiente se você só precisar usar as medidas uma vez, mas se quiser guardar as medidas para mais tarde, você mesmo terá que anotá-las (envolvendo a chamada para mapem um list).
Em JavaScript, mapé como um chef que anota a medida de cada ingrediente em um pedaço de papel separado antes de passar para o próximo. Isso leva um pouco mais de tempo, mas você acaba com uma lista de todas as medidas que pode consultar sempre que quiser.
Características comuns:
maprecebe uma lista de valores e uma função como entrada e aplica a função a cada elemento da listamapretorna uma nova lista com os resultados da aplicação da função a cada elemento da listamapé frequentemente usado para transformar uma lista de valores de uma forma para outramapretorna um iterador que produz os resultados instantaneamente, em vez de criar uma lista totalmente nova. Isso pode ser mais eficiente se você só precisar iterar os resultados uma vez, mas significa que você precisa agrupar a chamada mapse listquiser criar uma nova lista com todos os resultados.mapretorna um novo array com todos os resultados, então você não precisa fazer nada especial para criar uma nova lista.mapuma "função de seta" como função de retorno de chamada, que é uma abreviação.Em Python:
words = ['cat', 'window', 'defenestrate']
uppercase_words = list(map(str.upper, words))
print(uppercase_words) # ['CAT', 'WINDOW', 'DEFENESTRATE']
const words = ['cat', 'window', 'defenestrate'];
const uppercaseWords = words.map(word => word.toUpperCase());
console.log(uppercaseWords); // ['CAT', 'WINDOW', 'DEFENESTRATE']
Em Python:
numbers = [1, 2, 3, 4]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers) # [2, 4, 6, 8]
const numbers = [1, 2, 3, 4];
const doubledNumbers = numbers.map(x => x * 2);
console.log(doubledNumbers); // [2, 4, 6, 8]
Em Python:
def fahrenheit_to_celsius(fahrenheit):
celsius = (fahrenheit - 32) * 5 / 9
return int(celsius)
temperatures_fahrenheit = [32, 60, 212]
temperatures_celsius = list(map(fahrenheit_to_celsius, temperatures_fahrenheit))
print(temperatures_celsius) # [0, 15, 100]
const fahrenheitToCelsius = fahrenheit => {
const celsius = (fahrenheit - 32) * 5 / 9;
return Math.floor(celsius);
};
const temperaturesFahrenheit = [32, 60, 212];
const temperaturesCelsius = temperaturesFahrenheit.map(fahrenheitToCelsius);
console.log(temperaturesCelsius); //[0, 15, 100]
Em Python:
import math
numbers = [1.5, 2.3, 3.7, 4.2]
rounded_numbers = list(map(math.floor, numbers))
print(rounded_numbers) # [1, 2, 3, 4]
const numbers = [1.5, 2.3, 3.7, 4.2];
const roundedNumbers = numbers.map(Math.floor);
console.log(roundedNumbers); //[1, 2, 3, 4]
Em Python:
import math
numbers = [1, 4, 9, 16]
square_roots = list(map(int, map(math.sqrt, numbers)))
print(square_roots) # [1, 2, 3, 4]
const numbers = [1, 4, 9, 16];
const squareRoots = numbers.map(Math.sqrt).map(x => Math.floor(x));
console.log(squareRoots); //[1, 2, 3, 4]
Espero que este post tenha sido útil para apresentá-lo à mapfunção e mostrar algumas das diferentes maneiras de usá-la. Codificação feliz!
Você deve ter ouvido falar sobre todos os novos plug-ins poderosos do ChatGPT, como navegador, intérprete de código, etc. Mas há um problema, o acesso aos plug-ins é limitado a uma lista de espera e, portanto, muitos não têm acesso a ela.
Esta semana, recebi um e-mail de um membro da lista de e-mails diários. Eles queriam saber: quais recursos você visita diariamente, semanalmente e mensalmente? Ótima pergunta! Fico feliz em tentar compartilhar algumas ideias sobre meu fluxo de trabalho e os principais recursos que uso.
“Ei, Siri, toque Me Dive, de Olivia Dean.” Era maio de 2021 quando comecei meu estágio na Future Academy Africa em Akure, Nigéria.
É uma manhã brilhantemente dourada nas colinas do oeste, enquanto os primeiros raios de sol iluminam a grama congelada nas planícies. Um rebanho de gado Angus plácido, preto e maciço, é recortado contra o nascer do sol enquanto segue por uma trilha batida até um local que todos conhecem bem; a barra de café da manhã.
Se quisermos continuar a prosperar neste planeta, teremos que ter conversas perigosas. Aqueles que desafiam o que temos feito, o que estamos fazendo e o que estamos determinados a continuar fazendo (ou planejamos fazer).
Qualquer mente racional sabe que os círculos políticos e midiáticos são dominados pela esquerda, até mesmo pela extrema esquerda, um estado de coisas que cria um desequilíbrio no discurso político. No campo da religião, esse desequilíbrio é bem visível: jornais e redes de esquerda não se apressam em defender a fé cristã.