Изменения в поведении функции map() в Python 3

Перейти в телеграм, чтобы получить результаты теста
Пройдите тест, узнайте какой профессии подходите
Вам подходит профессия:
Аналитик данных
Основные характеристики профессии:
не нужно общаться с людьми
логика
анализ
поиск закономерностей
работа с числами
Построим личный план перехода в профессию для вас бесплатно
- убедитесь, подходит вам профессия или нет
- получите оценку своих навыков и шансов освоить профессию
- забронируем за вами скидку 55% на обучение, пока думаете
Позвоним вам в течение часа — не пропустите звонок
Чем занимается специалист
Специалист создает все онлайн-продукты, программы, приложения, игры и сайты, которыми вы пользуетесь каждый день.
Создает — значит описывает последовательность действий на специальном языке программирования. Настраивает действия, что должно произойти, если пользователь нажмет на кнопку.
Средняя зарплата начинающего специалиста в первый год работы:
от 50 000 ₽
Что надо знать и уметь, чтобы выучиться на аналитика:
- базовое школьное образование
- уверенные навыки работы с компьютером
- опыт выполнения задач в конкретные сроки
Глубокие знания математики или английского не нужны
Почему мы рекомендуем вам эту профессию
Ваш скрытый талант:
наблюдательность
Одной из первых функций, с которой сталкиваются начинающие программисты на Python, является функция map(). Эта функция применяет заданную функцию к каждому
Одной из первых функций, с которой сталкиваются начинающие программисты на Python, является функция map()
. Эта функция применяет заданную функцию к каждому элементу последовательности (например, списка) и возвращает результаты.
В Python 2 эта функция возвращает список. Например, применив функцию chr()
, которая преобразует числа в соответствующие символы ASCII, к списку чисел, получим следующий результат:
>>> map(chr, [66, 53, 0, 94])
['B', '5', '\x00', '^']
Однако, при переходе на Python 3 поведение функции map()
изменилось. Теперь эта функция возвращает объект map, а не список. Такой же пример на Python 3 даст следующий результат:
>>> map(chr, [66, 53, 0, 94])
<map object at 0x00AF5570>
Это изменение внесено для повышения эффективности: в Python 3 функция map()
создает итератор, который производит вычисления по мере необходимости, а не сразу для всего списка. Это может сэкономить память при работе с большими списками.
Тем не менее, если нужно получить результаты в виде списка, это можно сделать, преобразовав объект map в список с помощью функции list()
. Вот как это выглядит на Python 3:
>>> list(map(chr, [66, 53, 0, 94]))
['B', '5', '\x00', '^']
Таким образом, для получения списка в Python 3 из результатов функции map()
достаточно просто преобразовать результат в список.
Добавить комментарий