Отображение ваших данных: введение в функцию карты в Python и JavaScript
Функция map— полезный инструмент для применения определенного процесса или функции к каждому элементу в списке, и она есть как в Python, так и в JavaScript. В этом посте мы рассмотрим, как mapработает на обоих языках, а также несколько примеров различных вариантов использования и различия между ними.
Представьте, что у вас есть список ингредиентов для рецепта, и вы хотите создать новый список с размерами для каждого ингредиента. В Python mapэто было бы похоже на шеф-повара, который берет каждый ингредиент и называет меру по мере их приготовления, не записывая ее. Это более эффективно, если вам нужно использовать измерения только один раз, но если вы хотите сохранить измерения на потом, вам придется записать их самостоятельно (поместив вызов mapв list).
В JavaScript mapэто похоже на шеф-повара, который записывает количество каждого ингредиента на отдельном листе бумаги, прежде чем перейти к следующему. Это займет немного больше времени, но в итоге вы получите список всех измерений, к которым вы можете вернуться в любое время.
Общие черты:
mapпринимает список значений и функцию в качестве входных данных и применяет функцию к каждому элементу в спискеmapвозвращает новый список с результатами применения функции к каждому элементу в спискеmapчасто используется для преобразования списка значений из одной формы в другую.
- В Python
mapвозвращает итератор, который выдает результаты на лету, а не создает новый список. Это может быть более эффективным, если вам нужно перебрать результаты только один раз, но это означает, что вам нужно обернуть вызов,mapеслиlistвы хотите создать новый список со всеми результатами. - В JavaScript
mapвозвращает новый массив со всеми результатами, поэтому вам не нужно делать ничего особенного для создания нового списка. - В JavaScript вы можете передать
map«стрелочную функцию» в качестве функции обратного вызова, что является сокращением.
В Питоне:
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']
В Питоне:
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]
В Питоне:
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]
В Питоне:
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]
В Питоне:
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]
Я надеюсь, что этот пост помог вам познакомить вас с этой mapфункцией и показать вам различные способы ее использования. Удачного кодирования!

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































