Mapping Ihrer Daten: Eine Einführung in die Kartenfunktion in Python und JavaScript
Die mapFunktion ist ein nützliches Werkzeug, um einen bestimmten Prozess oder eine bestimmte Funktion auf jedes Element in einer Liste anzuwenden, und sie ist sowohl in Python als auch in JavaScript zu finden. In diesem Beitrag werfen wir einen Blick darauf, wie mapbeide Sprachen funktionieren, zusammen mit einigen Beispielen für verschiedene Anwendungsfälle und den Unterschieden zwischen den beiden.
Stellen Sie sich vor, Sie haben eine Zutatenliste für ein Rezept und möchten eine neue Liste mit den Maßen für jede Zutat erstellen. In Python mapwäre es wie ein Koch, der jede Zutat nimmt und die Maße ausruft, ohne sie aufzuschreiben. Dies ist effizienter, wenn Sie die Messungen nur einmal verwenden müssen, aber wenn Sie die Messungen für später aufbewahren möchten, müssen Sie sie selbst aufschreiben (indem Sie den Aufruf mapin ein packen list).
In JavaScript mapist es wie ein Koch, der die Maße für jede Zutat auf ein separates Blatt Papier schreibt, bevor er mit der nächsten fortfährt. Dies dauert etwas länger, aber Sie erhalten am Ende eine Liste aller Messungen, auf die Sie jederzeit zurückgreifen können.
Gemeinsamkeiten:
mapnimmt eine Liste von Werten und eine Funktion als Eingabe und wendet die Funktion auf jedes Element in der Liste anmapgibt eine neue Liste mit den Ergebnissen der Anwendung der Funktion auf jedes Element in der Liste zurückmapwird häufig verwendet, um eine Liste von Werten von einer Form in eine andere umzuwandeln
- Gibt in Python
mapeinen Iterator zurück, der die Ergebnisse spontan erzeugt, anstatt eine ganz neue Liste zu erstellen. Dies kann effizienter sein, wenn Sie die Ergebnisse nur einmal durchlaufen müssen, aber es bedeutet, dass Sie den Aufruf in einschließen müssen,mapwennlistSie eine neue Liste mit allen Ergebnissen erstellen möchten. - Gibt in JavaScript
mapein neues Array mit allen Ergebnissen zurück, sodass Sie nichts Besonderes tun müssen, um eine neue Liste zu erstellen. - In JavaScript können Sie
mapeine „Pfeilfunktion“ als Callback-Funktion übergeben, was eine Abkürzung ist.
In 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']
In 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]
In 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]
In 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]
In 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]
Ich hoffe, dieser Beitrag war hilfreich, um Ihnen die mapFunktion vorzustellen und Ihnen einige der verschiedenen Möglichkeiten zu zeigen, wie Sie sie verwenden können. Viel Spaß beim Codieren!

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































