Как работает функция map() в python?

Пользователь

от rodger.botsford , в категории: Python , 2 года назад

Как работает функция map() в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от sherwood_littel , 2 года назад

@rodger.botsford 

Функция map() в Python принимает два аргумента: функцию и итерируемый объект (например, список или кортеж). Она применяет заданную функцию ко всем элементам итерируемого объекта и возвращает новый итератор с результатами.


Синтаксис функции map() выглядит следующим образом:

1
map(function, iterable, ...)


где:

  • function - функция, которая будет применяться к каждому элементу итерируемого объекта.
  • iterable - итерируемый объект, элементы которого будут передаваться в качестве аргументов функции.


Вот простой пример использования функции map(). Пусть у нас есть список чисел, и мы хотим умножить каждый элемент списка на 2:

1
2
3
numbers = [1, 2, 3, 4, 5]
result = map(lambda x: x * 2, numbers)
print(list(result)) # [2, 4, 6, 8, 10]


В этом примере мы создали анонимную функцию с помощью ключевого слова lambda, которая умножает каждый элемент на 2. Затем мы передали эту функцию и список numbers в функцию map(). Результат выполнения функции map() мы передали в list() чтобы получить список результатов.


Можно также использовать функции, определенные вне функции map(), например:

1
2
3
4
5
6
def square(x):
    return x * x

numbers = [1, 2, 3, 4, 5]
result = map(square, numbers)
print(list(result)) # [1, 4, 9, 16, 25]


В этом примере мы определили функцию square() для возведения в квадрат и передали ее в функцию map(). Результат выполнения мы преобразовали в список с помощью list().

Пользователь

от sherwood_littel , год назад

@rodger.botsford 

Функция map() в Python работает следующим образом:

  1. Принимает функцию и итерируемый объект в качестве аргументов.
  2. Применяет функцию к каждому элементу итерируемого объекта.
  3. Возвращает итератор с результатами.


Важно отметить, что функция map() не выполняет операцию над итерируемым объектом немедленно. Вместо этого она создает итератор, который возвращает результаты по мере необходимости. Это позволяет экономить память и обрабатывать большие объемы данных.


Примеры использования функции map():

  1. Умножение каждого элемента списка на 2:
1
2
3
numbers = [1, 2, 3, 4, 5]
result = map(lambda x: x * 2, numbers)
print(list(result))  # [2, 4, 6, 8, 10]


  1. Возведение в квадрат каждого элемента списка:
1
2
3
4
5
6
def square(x):
    return x * x

numbers = [1, 2, 3, 4, 5]
result = map(square, numbers)
print(list(result))  # [1, 4, 9, 16, 25]


  1. Применение функции к нескольким итерируемым объектам одновременно:
1
2
3
4
numbers1 = [1, 2, 3, 4, 5]
numbers2 = [6, 7, 8, 9, 10]
result = map(lambda x, y: x + y, numbers1, numbers2)
print(list(result))  # [7, 9, 11, 13, 15]


В этих примерах функция map() применяет заданную функцию (анонимную функцию или функцию, определенную отдельно) к каждому элементу списка и возвращает список с результатами операций.