Python функция map: применение, преимущества и примеры кода
Функция map()
является одной из мощных встроенных функций в Python, которая позволяет применять определенную функцию к каждому элементу в итерируемом объекте, таком как список или кортеж, и возвращать новый итератор, содержащий преобразованные значения.
Синтаксис функции map()
выглядит следующим образом:
map(function, iterable)
Здесь function
- это функция, которую мы хотим применить к каждому элементу в iterable
. iterable
- это объект, который может быть итерирован, например, список, кортеж или строка.
Давайте рассмотрим примеры кода для более лучшего понимания.
Пример 1: Применение функции к списку
# Определим функцию, которая будет возводить каждый элемент в квадрат
def square(x):
return x ** 2
# Создадим список чисел
numbers = [1, 2, 3, 4, 5]
# Используем функцию map() для применения функции square() к каждому элементу списка numbers
squared_numbers = list(map(square, numbers))
# Выводим новый список, содержащий каждый элемент списка numbers, возведенный в квадрат
print(squared_numbers)
В результате выполнения данного кода мы получим список squared_numbers
, содержащий элементы [1, 4, 9, 16, 25]
. Каждый элемент списка numbers
был возведен в квадрат с помощью функции square()
и добавлен в новый список.
Пример 2: Применение функции к строке
# Определим функцию, которая будет возвращать каждую букву в верхнем регистре
def capitalize_letter(letter):
return letter.upper()
# Создадим строку
text = "hello"
# Используем функцию map() для применения функции capitalize_letter() к каждой букве в строке
capitalized_text = ''.join(map(capitalize_letter, text))
# Выводим новую строку, где каждая буква в исходной строке будет в верхнем регистре
print(capitalized_text)
В результате выполнения данного кода мы получим строку HELLO
, где каждая буква в исходной строке была переведена в верхний регистр с помощью функции capitalize_letter()
.
Функция map()
также может принимать несколько итерируемых объектов в качестве аргументов. В таком случае, функция, переданная как первый аргумент, должна принимать столько же аргументов, сколько итерируемых объектов было передано. Например:
# Создадим два списка
numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6]
# Определим функцию, которая будет складывать два числа
def add(x, y):
return x + y
# Используем функцию map() для применения функции add() к каждой паре элементов из двух списков
sums = list(map(add, numbers1, numbers2))
# Выводим список, содержащий суммы соответствующих элементов из двух списков
print(sums)
В результате выполнения данного кода мы получим список sums
, содержащий элементы [5, 7, 9]
. Каждая пара элементов из списка numbers1
и списка numbers2
была сложена с помощью функции add()
и добавлена в новый список.
Таким образом, функция map()
является мощным инструментом в языке Python, который позволяет применять определенные функции к элементам итерируемых объектов и возвращать новые значения.