50 Функция map Python. Что делает функция map в Python
HTML-код
- Опубликовано: 30 янв 2019
- 🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
stepik.org/course/63085/promo
👉👉👉 Свой вопрос по курсу можешь задать в чате
t.me/+SlnNhAO7caBlNDM6
👉👉👉 Также подписывайся на мой телеграмм-канал
t.me/python_egoroff
egoroffartem.pythonanywhere.co...
В видео вы узнает что такое функция map и что она делает.
Функция map принимает два аргумента
1) функцию
2) итерируемый объект (коллекция)
Map возвращает итератор, в котором к каждому объекту коллекции применяется переданная функция.
Рассмотрим примеры использования функции map со встроенными функциями
Рассмотрим примеры использования функции map со функциями def
Рассмотрим примеры использования функции map с анонимными функциями (lambda).
Разберем как можно переписать программу с функцией map на другую программу при помощи генераторов списков (list comprehension)
В видео разберем как ввести список чисел через пробел с помощью map
Узнаете как в python устроить ввод чисел через пробел при помощи map
Срезы строк
• Урок 10 Строки: индекс...
egoroffartem.pythonanywhere.co...
На сайте будет выкладываться более подробная информация о данном курсе и будущих видео.
Все видео этого курса можете найти на сайте
egoroffartem.pythonanywhere.co...
или в Вк
videos-177962775?secti...
Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
artem_egoroff
python.study
В данном группе можете найти информацию о новых видео и задать вопросы
🫵 Теория без практики - ничто, поэтому 👇
🐍 stepik.org/course/63085/promo
👉 специально для тебя создал бесплатный топовый курс по Python
👉 В нем тебя ждет:
📗 более 400 практических заданий на программирование
📗 более 250 тестовых заданий на проверку материала
📗 десятки часов видеоматерилов по теории
📗 видеоразборы решения заданий
📗 текстовые материалы по урокам, примеры кода
📗 доступ к закрытому чату с дружественной обстановкой
📗 сертификат в случае успешного прохождения курса
Пожалуй лучший канал для изучения Python!
Согласен. Есть ещё один канал примерно такого же уровня. Но этот вроде лучше.
@@dizelvinable Какой?
@@user-iz9sj1nn5q ruclips.net/user/zaemiel
@@dizelvinable Спасибо
@@user-iz9sj1nn5q Кстати, там есть и плейлисты по Flask и Django. Отлично всё поясняется.
самый лучший курс по питону! спасибо!
Спасибо за объяснение! Все подробно и доходчиво.
Спасибо, отличный урок, все ясно и понятно.
Артем огромное спасибо вам за ваш труд. Вы очень круто обясняете
Какая же крутая подача материала!
Это лучший канал о Python))
Огромное спасибо за ваш труд! Очень хорошо доходит)))
Лучший канал что я находил. Спасибо за видео.
Артём, благодарю! Отличный урок, всё понятно, подробно, чётко, без воды, наглядно 🔥🔥💯👍
Очень здорово! Спасибо!
Спасибо, что объяснили простыми словами.
Отличный канал для изучения Python. Большое спасибо автору за труд!
Отличный урок!
Этот канал настоящая находка. Подписался и сохранил
Спасибо! Почти всё поняла
Господи, у вас великолепно получается объяснять! У меня было куча непонятных моментов которые не мог понять, пока не просмотрел ваши полезные видео. Спасибо Вам огромное! Вы первый человек чьим патроном я стал)
круто, спасибо!)
@Максим Петин [ object ] и list(object) - не одно и то же. [ object ] создаёт список, что помещает в себя объект object, например: [ '123' ] создаёт список с одним элементом - строкой '123'. А list(object) создаёт список, содержащий в себе результаты итераций объекта object, например: list('123') возвращает не [ '123' ], а [ '1', '2', '3' ], ведь, при итерировании, строка возвращает себя по одному символу в качестве результата итераций.
А теперь к непосредственно вашему вопросу. map(list,k) проходится по элементам списка k и превращает их в списки. Когда он настигнет значение 'hellloooo1212', он превратит строку в список, разбив на символы, и выдаст список [ 'h', 'e', 'l', 'l', 'l', 'o', 'o', 'o', 'o', '1', '2', '1', '2' ], а потом list(...) обернёт это во внешний список, так как map - итерируемый объект, что возвращает, в качестве результатов итераций, результаты функции, что стоит в первом аргументе. Короче говоря, [ [ 'h', 'e', 'l', 'l', 'l', 'o', 'o', 'o', 'o', '1', '2', '1', '2' ] ].
Очень доступная информация для восприятия, cпасибо за контент
Спасибо за понятное объяснение!😊
Спасибо. Все кратко и по делу.
Thank you so much
спасибо большое, помогли уже на первой минуте все понять)
Круто благодарю!
Спасибо большое, думал так и не пойму, а все до конца разжевали ч таком коротком видео, спасибо
Спасибо огромное! На степике большое кол-во задач, где по условию несколько чисел вводятся через пробел. Уже надоело создавать циклы for. Да, можно списочными выражениями пользоваться, это даже полезно для понимания того, как работают списки, однако хотелось увидеть метод, который более универсальный в дополнение к списочным выражениям.
насколько я понял
map(abs, a) это тоже самое что
for i in a:
abs(i)
Не совсем. "abs(i)" выводит элементы списка "a", взятые по модулю, "map()", в свою очередь, создаёт объект, состоящий из элементов списка "a", взятых по модулю.
@@pr0xy663 map не состоит из объектов списка а, он создаёт генератор с определёными инструкциями, которые будут выполнятся в случае итерации над этим объектом. Вот так может выглядить имплементация map в Python:
def map_user(function,*iterables):
iterator = zip(*iterables)
return (function(*args) for args in iterator)
Имплементация потому, что map это built-in функция написана на языке програмирования С
Спасибі тобі велике!!!
Ніколи не розумів як все це працює, а завдяки тобі зміг зрозуміти!🙏
спасибо!
Круто!
БОЖЕ МОЙ, Я ПОНЯЛА. Спасибо вам огромное!!
Отлично.
Perfect
Несколько раз смотрел ваши ролики, но всё никак не подписался. Через большой промежуток времени вновь посмотрел, сейчас подписался 😁 Видимо, дорос до материала 😁
Супер
Егор, если вы до сих пор читаете комментарии из этого видео то знайте что вы самый лучший русско-говоряший учитель который смог обяснить эту тему
Только преподавателя зовут Артём. А так да, уроки отличные.
Не раболепствуй
Хорошее объяснение! Я думаю нафиг 'Map' нужна. В целом упрощает преобразование без 'For' вот и всё.
спасибо за прекрасное объяснение! статьи на тему кода читать не могу, ничего не понятно, а по видео наоборот)
ураааа
Круто
Также считывание строки можно с помощью генератора списка: b = input().split()
g = [int(s) for s in b]
print(g)
А ты хорош
Я вас люблю
👏
Всё хорошо, но почему такой тихий звук во всех видео??
👍
а как использовать map к многомерному списку? допустим, сделать все значения int
спасибо за классный урок!!!! только вопрос на 3:45мин странно что при возведении в степень получились положительные числа . тк вроде как -3**2=-9. или я что то путаю. Хотя я понимаю , что наверно тк def f(x):
retern -x**2 дало бы все отрицательные значения, но как созранить истинные значения списка с отрицательными и положительными значениями?
@Demetrius Dombrowski САПАСИБО❤ Помогли понять ,что ты не знаю математику🧐
Добрый день. Подскажите пожалуйста какой программой программирования вы использовали в данном видео? Мне она больше нравится, в сравнении с Geany.
Pycharm
@@egoroffchannel map() это класс
как вы одновременно на мин 2:11 всем сделали функцию abs?
Короче, ребят, если переводить на русский, map - это миксер для смешивания двух элементов - функции и аргумента составного типа данных. Таким образом мы можем, например, с лёгкостью преобразовать строки в целые числа, которые идут на вход map(float, input("Введите число.")
ну и будет число разбито по цифрам. или ты это и имел ввиду?
@@vrotkat7813 извините, но я Вас не понял
@@islamyunusov5215 ну, я имел ввиду что ведённое число, допустим 567, будет выглядеть так [5.0, 6.0, 7.0]
Спасибо за урок, а чем всё-таки numbers = list(map(int, input().split())) лучше, чем numbers = [int(i) for i in input().split()]?
В случае с map у нас сначала:
1. Забирается ввод.
2. Разбивается на список по пробелам.
3. Прогоняется каждый элемент списка через функцию int() и становится числом.
4. Из map object снова делаем list.
Итого 4 этапа.
В случае с генератором списка:
1. Забирается ввод.
2. Разбивается на список по пробелам.
3. Прогоняется каждый элемент списка через функцию int() и становится числом.
И это уже список. Вроде как тут 3 этапа, или я ошибаюсь?
Так же померяв оба варианта с помощью timeit получилось, что numbers = [int(i) for i in input().split()] быстрее.
можно и так и так, скорость считывание на программе не сильно скажется
Спасибо, посмотрела!
вопрос на 4:00 минуте. в map(f, a). почему мы не указываем атрибуты в функции f? каким образом осуществляется перебор элементов из массива a?
или он понимает, что мы взяли а в качестве второго аргумента и его только и перебирает?
в видео есть ответы на все эти вопросы
@@egoroffchannel map() это класс, а не функция.
Что быстрее будет работать, map или генератор? Если обьем вычислений большой
Конечно генератор!
Подскажите на минуте 2:12 он поставил курсор перед каждым значением, как он это сделал.
альт зажимай и выбирай места
cooool heheee
доброго дня. пытаюсь реализовать такуй конструкцию... s = list(map(int, list(storage_data.values()), split()))
Интересный факт, что map лежит в основе Параллельного алгоритма MapReduce
а был в каком-то видео пример, как адаптировать последний ввод через map отсюда к вводу двумерного списка (бесконечного, без range(n) / range(m))?
что значит бесконечного ввода?
@@egoroffchannel что на входе надо считывать матрицу любого размера до тех пор, пока не введут "конец". Всмысле ее размерность изначально не определена
@@Gergel_ создаешь до цикла главный список
считываешь строку в цикле while пока она не равна "конец". Если не равна внутри цикла преобразовываешь в список из целых чисел и добавляешь его в главный список.
@@egoroffchannel а есть телеграм чат у канала / курса на степике по этим материалам ?
@@Gergel_ канала нет.
я подобное объяснял как делать в разборах решения задач
ruclips.net/video/QfqcqeTrSR0/видео.html
тебе только цикл for на while заменить остается
a = ["Hello", "Hi", "Privet"]
b = list(map(list, a))
c = list(map(sorted, b))
print(a)
print(b)
print(c)
Ничего не отсортировалось
абоба
W
Да ,канал один из луших
будет ли обзор модулей?
Да. Какой интересует?
@@egoroffchannel Ну, для начала стандартные)
@@egoroffchannel про re хотелось бы посмотреть
6:18 олег их гнинром доог
а как сделать чтоб число выводились не списком а числами например 253412 тоесть все вместе слитно
print(*a,sep='')
@@egoroffchannel спасибо)
В каком редакторе автор работает, кто знает??
Pycharm
Я не так давно начал разбираться в Python. То что делает функция map понятно, я не могу понять что это за функция. В чем ее смысловая нагрузка. Допустим функция list преобразует в список, а по такой же логике что обобщенно делает map?
Если инпуту дать несколько чисел, то выйдет ошибка, как было показано в ролике, а функция мап даёт возможность записывать много целых чисел или же использовать в каких-либо операциях и вычислениях два аргумента
создает итератор для коллекции, посмотрите в idle за расходом памяти
>>> a=list(range(2**24))
>>> for i in [x*2 for x in a]: pass
>>> for i in map(lambda x: x*2,a): pass
@@user-lp8ng3kp4c 👍
+++!!!!
2:12 и тут я охуел
спасибо!