Функция map
Часть раздела Logic & Flow путешествия по Python на Coddy — урок 72 из 78.
Функция map() принимает две основные вещи:
- Функцию (которая содержит инструкции о том, что нужно сделать)
- Последовательность элементов (например, список или любую коллекцию элементов)
Затем она применяет эту функцию к каждому элементу вашей последовательности, один за другим, и возвращает вам все результаты.
Например:
def square(n):
return n * n
numbers = [1, 2, 3, 4, 5] # Это просто список чисел
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Вывод: [1, 4, 9, 16, 25]Что здесь произошло:
- У нас есть список чисел: [1, 2, 3, 4, 5]
- Функция
map()берет каждое число по очереди - Она пропускает каждое число через нашу функцию
square - Она собирает все результаты по порядку
Вы можете представить это как конвейер:
- Число 1 поступает на вход → функция square превращает его в 1
- Число 2 поступает на вход → функция square превращает его в 4
- Число 3 поступает на вход → функция square превращает его в 9 И так далее...
Вы также можете использовать лямбда-функцию вместо определения отдельной функции:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Вывод: [1, 4, 9, 16, 25]Функция map() работает с любой коллекцией элементов — не только с числами. Это могут быть строки или любой другой тип данных, который вы хотите обработать таким же образом.
Задание
ЛегкоСоздайте функцию с именем convert_to_uppercase, которая принимает список строк strings в качестве аргумента. Функция должна использовать функцию map() совместно с lambda-функцией для преобразования каждой строки в списке в верхний регистр. Функция должна возвращать список, содержащий строки в верхнем регистре.
Шпаргалка
Функция map() применяет функцию к каждому элементу последовательности и возвращает результаты:
def square(n):
return n * n
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# Вывод: [1, 4, 9, 16, 25]Вы также можете использовать лямбда-функции с map():
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# Вывод: [1, 4, 9, 16, 25]Функция map() работает с любым типом данных, а не только с числами.
Попробуйте сами
def convert_to_uppercase(strings):
# Используйте map() с лямбда-функцией для преобразования строк в верхний регистр
uppercase_strings =
# Вернуть список строк в верхнем регистре
return list(uppercase_strings)В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Logic & Flow
1Изучение переменных
КонстантыМножественное присваиваниеОбмен значениями переменныхПеременные-заполнителиОкругление чиселПриведение к списку4Приложение «Книга контактов»
Показать менюДобавить контакт7Множества. Часть 2
Математические операции. Часть 1Математические операции. Часть 2Повторение — Охота за сокровищамиПодмножества и надмножестваИтерация по множествамПовторение — Трекер турнира10Базовые генераторы списков
СинтаксисСоздание простых списковДобавление условийИспользование агрегации данныхПовторение — Дом списковПовторение — Элементы свободы13Система управления запасами
Обзор проектаДобавление товара2Словари. Часть 1
Что такое словарь?Создание словаряДоступ к значениямИзменение словарейИтоги — Менеджер рецептов5Продвинутое принятие решений
Тернарный операторПроверка вхожденияПроверка идентичностиОшибки отступовПовторение — Фильтр отпусков8Менеджер записей студентов
Обзор проектаДобавить студента11Продвинутые функции
Возврат нескольких значенийLambda-функции. Часть 1Lambda-функции. Часть 2Задача на повторение — Lambda-сортировкаРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного списка14Функции высшего порядка
Функция mapФункция filterПовторение — Валидатор emailПовторение — Обработчик чисел3Словари. Часть 2
Методы словарейВложенные словариПроверка наличия ключейПеребор словарей в циклеПовторение: счетчик частоты6Множества. Часть 1
Что такое множество?Основные операцииМетоды множествПовторение — удаление дубликатов9Продвинутая агрегация данных
Использование SumПоиск минимума и максимумаЭффективная сортировка данныхПовторение — Dictionary Sorter