Отображение ваших данных: введение в функцию карты в Python и JavaScript

Измерение ингредиентов от Manfreed на кухне

Функция 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функцией и показать вам различные способы ее использования. Удачного кодирования!

Suggested posts

Как бесплатно запускать плагины ChatGPT с помощью Langchain

Как бесплатно запускать плагины ChatGPT с помощью Langchain

Вы, должно быть, слышали обо всех новых мощных плагинах ChatGPT, таких как Browser, Code Interpreter и т. д. Но есть проблема: доступ к плагинам ограничен списком ожидания, и поэтому многие не имеют к нему доступа.

Мои наиболее используемые ресурсы кодирования

Мои наиболее используемые ресурсы кодирования

На этой неделе я получил электронное письмо от участника ежедневного списка рассылки. Они хотели знать: какие ресурсы вы посещаете ежедневно, еженедельно и ежемесячно? Отличный вопрос! Я рад поделиться некоторыми мыслями о моем рабочем процессе и основных ресурсах, которые я использую.

Related posts

Всегда ли искусство аполитично?

Всегда ли искусство аполитично?

Вчера мы закрыли двери конкурса песни «Евровидение» в этом году блестящим, хаотичным грандиозным финалом, в котором шведская певица Лорин забрала домой трофей, став первой женщиной, выигравшей дважды, и вернув корону Швеции спустя 50 лет после того, как ABBA выиграла конкурс. с «Ватерлоо». Они стали одним из крупнейших исполнителей в каноне поп-музыки.

Финансирование удаления углерода в 24 финансовом году

Разбивка запросов на ассигнования Carbon180 по направлениям

Финансирование удаления углерода в 24 финансовом году

Элисон Ли, управляющий советник по связям с правительством Процесс ежегодных ассигнований федерального правительства занимает центральное место в наших усилиях по финансированию удаления двуокиси углерода (CDR). Каждый год Carbon180 направляет запросы в различные офисы Конгресса, чтобы помочь определить, куда пойдут доллары в следующем году.

Журнал

Журнал

Открытый дневник: картинка в день. Меня всегда завораживали истории.

Ковбойская ложь

Как мегакорпорации продали американцам мохнатую ложь

Ковбойская ложь

Это ярко-золотое утро в холмистой местности на западе, когда первые лучи солнечного света освещают инеистую траву на равнинах. Стадо безмятежных ангусских коров, угольно-черных и массивных, вырисовывается на фоне восхода солнца, когда они идут по проторенной тропе к месту, которое они все хорошо знают; барная стойка.