map()
применяет заданную функцию ко каждому элементу итерируемого объекта (например, списка) и возвращает итератор с результатами. Обычно используется для преобразования последовательности данных.
Функция map()
в Python - это встроенная функция, которая применяет заданную функцию к каждому элементу итерируемого объекта (например, списка, кортежа, строки) и возвращает итератор, содержащий результаты.
Основные принципы работы:
map()
, вызывается для каждого элемента итерируемого объекта.map()
не возвращает список или кортеж напрямую. Вместо этого она возвращает объект-итератор, который позволяет последовательно перебирать результаты применения функции. Чтобы получить список, нужно явно преобразовать итератор в список с помощью list()
. Аналогично можно получить кортеж с помощью tuple()
.Пример:
def square(x):
return x * x
numbers = [1, 2, 3, 4, 5]
# Применяем функцию square() к каждому элементу списка numbers
squared_numbers_iterator = map(square, numbers)
# Преобразуем итератор в список для удобства просмотра
squared_numbers = list(squared_numbers_iterator)
print(squared_numbers) # Вывод: [1, 4, 9, 16, 25]
Преимущества использования map()
:
map()
позволяет лаконично выразить операцию применения функции к каждому элементу итерируемого объекта.map()
может быть более эффективной, чем ручной перебор элементов с помощью цикла, особенно при работе с большими объемами данных (особенно если используется вместе с генераторами).map()
возвращает итератор, что позволяет выполнять вычисления только по мере необходимости, экономя ресурсы.Альтернативы map()
:
for
: Классические циклы for
позволяют явно перебирать элементы и применять к ним функцию.Когда стоит использовать map()
: