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
    В данном группе можете найти информацию о новых видео и задать вопросы

Комментарии • 119

  • @egoroffchannel
    @egoroffchannel  24 дня назад

    🫵 Теория без практики - ничто, поэтому 👇
    🐍 stepik.org/course/63085/promo
    👉 специально для тебя создал бесплатный топовый курс по Python
    👉 В нем тебя ждет:
    📗 более 400 практических заданий на программирование
    📗 более 250 тестовых заданий на проверку материала
    📗 десятки часов видеоматерилов по теории
    📗 видеоразборы решения заданий
    📗 текстовые материалы по урокам, примеры кода
    📗 доступ к закрытому чату с дружественной обстановкой
    📗 сертификат в случае успешного прохождения курса

  • @volodymyrmarkitan1323
    @volodymyrmarkitan1323 4 года назад +105

    Пожалуй лучший канал для изучения Python!

    • @dizelvinable
      @dizelvinable 4 года назад +4

      Согласен. Есть ещё один канал примерно такого же уровня. Но этот вроде лучше.

    • @user-iz9sj1nn5q
      @user-iz9sj1nn5q 4 года назад

      @@dizelvinable Какой?

    • @dizelvinable
      @dizelvinable 4 года назад +2

      @@user-iz9sj1nn5q ruclips.net/user/zaemiel

    • @user-iz9sj1nn5q
      @user-iz9sj1nn5q 4 года назад +1

      @@dizelvinable Спасибо

    • @dizelvinable
      @dizelvinable 4 года назад +2

      @@user-iz9sj1nn5q Кстати, там есть и плейлисты по Flask и Django. Отлично всё поясняется.

  • @user-hi4tj9xl4t
    @user-hi4tj9xl4t Год назад +6

    самый лучший курс по питону! спасибо!

  • @user-fs9gp6oz8x
    @user-fs9gp6oz8x 4 года назад +3

    Спасибо за объяснение! Все подробно и доходчиво.

  • @user-ex7tv8jr4k
    @user-ex7tv8jr4k 4 года назад +4

    Спасибо, отличный урок, все ясно и понятно.

  • @user-ud2lx2sr1i
    @user-ud2lx2sr1i 3 года назад +4

    Артем огромное спасибо вам за ваш труд. Вы очень круто обясняете

  • @user-sn9se8dv3q
    @user-sn9se8dv3q 4 года назад +5

    Какая же крутая подача материала!
    Это лучший канал о Python))

  • @user-rj1ch4ny5n
    @user-rj1ch4ny5n Год назад +2

    Огромное спасибо за ваш труд! Очень хорошо доходит)))

  • @cicada4539
    @cicada4539 4 года назад +5

    Лучший канал что я находил. Спасибо за видео.

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov Год назад +1

    Артём, благодарю! Отличный урок, всё понятно, подробно, чётко, без воды, наглядно 🔥🔥💯👍

  • @vladimirmanikhin7918
    @vladimirmanikhin7918 Год назад +1

    Очень здорово! Спасибо!

  • @radiocentr13
    @radiocentr13 4 года назад +2

    Спасибо, что объяснили простыми словами.

  • @badcatprod
    @badcatprod Год назад +3

    Отличный канал для изучения Python. Большое спасибо автору за труд!

  • @user-ru2jg4oq1h
    @user-ru2jg4oq1h 2 года назад +1

    Отличный урок!
    Этот канал настоящая находка. Подписался и сохранил

  • @renatar7356
    @renatar7356 4 года назад +3

    Спасибо! Почти всё поняла

  • @artemzaecev7751
    @artemzaecev7751 4 года назад +19

    Господи, у вас великолепно получается объяснять! У меня было куча непонятных моментов которые не мог понять, пока не просмотрел ваши полезные видео. Спасибо Вам огромное! Вы первый человек чьим патроном я стал)

    • @egoroffchannel
      @egoroffchannel  4 года назад +2

      круто, спасибо!)

    • @user-ig6qf8nh5j
      @user-ig6qf8nh5j 3 года назад +3

      ​@Максим Петин [ 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' ] ].

  • @Onixx616
    @Onixx616 2 года назад

    Очень доступная информация для восприятия, cпасибо за контент

  • @A1bizGL
    @A1bizGL Год назад

    Спасибо за понятное объяснение!😊

  • @olegm.3369
    @olegm.3369 3 года назад

    Спасибо. Все кратко и по делу.

  • @user-xx3ct4cp6n
    @user-xx3ct4cp6n 4 года назад +1

    Thank you so much

  • @littlepusheenkaa128
    @littlepusheenkaa128 2 года назад

    спасибо большое, помогли уже на первой минуте все понять)

  • @uNkindggg
    @uNkindggg 3 года назад

    Круто благодарю!

  • @angeles7658
    @angeles7658 2 года назад

    Спасибо большое, думал так и не пойму, а все до конца разжевали ч таком коротком видео, спасибо

  • @ku1esh00v
    @ku1esh00v Месяц назад

    Спасибо огромное! На степике большое кол-во задач, где по условию несколько чисел вводятся через пробел. Уже надоело создавать циклы for. Да, можно списочными выражениями пользоваться, это даже полезно для понимания того, как работают списки, однако хотелось увидеть метод, который более универсальный в дополнение к списочным выражениям.

  • @dudenarima2528
    @dudenarima2528 4 года назад +30

    насколько я понял
    map(abs, a) это тоже самое что
    for i in a:
    abs(i)

    • @pr0xy663
      @pr0xy663 2 года назад +4

      Не совсем. "abs(i)" выводит элементы списка "a", взятые по модулю, "map()", в свою очередь, создаёт объект, состоящий из элементов списка "a", взятых по модулю.

    • @dominus5043
      @dominus5043 Год назад +1

      @@pr0xy663 map не состоит из объектов списка а, он создаёт генератор с определёными инструкциями, которые будут выполнятся в случае итерации над этим объектом. Вот так может выглядить имплементация map в Python:
      def map_user(function,*iterables):
      iterator = zip(*iterables)
      return (function(*args) for args in iterator)
      Имплементация потому, что map это built-in функция написана на языке програмирования С

  • @valkoym
    @valkoym 2 года назад

    Спасибі тобі велике!!!
    Ніколи не розумів як все це працює, а завдяки тобі зміг зрозуміти!🙏

  • @makseo651
    @makseo651 2 месяца назад

    спасибо!

  • @user-gb6mf9bq8t
    @user-gb6mf9bq8t 4 года назад

    Круто!

  • @36tomato
    @36tomato 8 месяцев назад

    БОЖЕ МОЙ, Я ПОНЯЛА. Спасибо вам огромное!!

  • @eYVgeni
    @eYVgeni 4 года назад

    Отлично.

  • @IGORVBORODIN
    @IGORVBORODIN 4 года назад +2

    Perfect

  • @mazur_vg
    @mazur_vg Год назад +1

    Несколько раз смотрел ваши ролики, но всё никак не подписался. Через большой промежуток времени вновь посмотрел, сейчас подписался 😁 Видимо, дорос до материала 😁

  • @86Blind
    @86Blind 2 года назад

    Супер

  • @ignisoignisos2502
    @ignisoignisos2502 2 года назад +11

    Егор, если вы до сих пор читаете комментарии из этого видео то знайте что вы самый лучший русско-говоряший учитель который смог обяснить эту тему

    • @denistalko6585
      @denistalko6585 Год назад +1

      Только преподавателя зовут Артём. А так да, уроки отличные.

    • @user-xl6gp9em1b
      @user-xl6gp9em1b 7 месяцев назад

      Не раболепствуй

  • @_M.i.h.a.i.l._
    @_M.i.h.a.i.l._ Месяц назад

    Хорошее объяснение! Я думаю нафиг 'Map' нужна. В целом упрощает преобразование без 'For' вот и всё.

  • @annp5387
    @annp5387 4 месяца назад

    спасибо за прекрасное объяснение! статьи на тему кода читать не могу, ничего не понятно, а по видео наоборот)

  • @user-mj2ow1ct1z
    @user-mj2ow1ct1z 5 лет назад +4

    ураааа

  • @andriizmieievets7005
    @andriizmieievets7005 5 лет назад

    Круто

  • @user-xu8mc6cq2c
    @user-xu8mc6cq2c Год назад +3

    Также считывание строки можно с помощью генератора списка: b = input().split()
    g = [int(s) for s in b]
    print(g)

  • @la_la4997
    @la_la4997 2 года назад

    Я вас люблю

  • @jamjam3337
    @jamjam3337 Год назад

    👏

  • @alexanderalexander5638
    @alexanderalexander5638 8 месяцев назад +1

    Всё хорошо, но почему такой тихий звук во всех видео??

  • @andreiviltouski2390
    @andreiviltouski2390 3 года назад

    👍

  • @disgracefulsense7882
    @disgracefulsense7882 3 года назад +1

    а как использовать map к многомерному списку? допустим, сделать все значения int

  • @hrapkin7050
    @hrapkin7050 Год назад +1

    спасибо за классный урок!!!! только вопрос на 3:45мин странно что при возведении в степень получились положительные числа . тк вроде как -3**2=-9. или я что то путаю. Хотя я понимаю , что наверно тк def f(x):
    retern -x**2 дало бы все отрицательные значения, но как созранить истинные значения списка с отрицательными и положительными значениями?

    • @hrapkin7050
      @hrapkin7050 Год назад

      @Demetrius Dombrowski САПАСИБО❤ Помогли понять ,что ты не знаю математику🧐

  • @alimp
    @alimp 3 года назад

    Добрый день. Подскажите пожалуйста какой программой программирования вы использовали в данном видео? Мне она больше нравится, в сравнении с Geany.

  • @zhanerkenursultanova9997
    @zhanerkenursultanova9997 9 месяцев назад

    как вы одновременно на мин 2:11 всем сделали функцию abs?

  • @islamyunusov5215
    @islamyunusov5215 Год назад +1

    Короче, ребят, если переводить на русский, map - это миксер для смешивания двух элементов - функции и аргумента составного типа данных. Таким образом мы можем, например, с лёгкостью преобразовать строки в целые числа, которые идут на вход map(float, input("Введите число.")

    • @vrotkat7813
      @vrotkat7813 Год назад

      ну и будет число разбито по цифрам. или ты это и имел ввиду?

    • @islamyunusov5215
      @islamyunusov5215 Год назад

      @@vrotkat7813 извините, но я Вас не понял

    • @vrotkat7813
      @vrotkat7813 Год назад

      @@islamyunusov5215 ну, я имел ввиду что ведённое число, допустим 567, будет выглядеть так [5.0, 6.0, 7.0]

  • @ArtyomRolei
    @ArtyomRolei 2 года назад

    Спасибо за урок, а чем всё-таки 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()] быстрее.

    • @egoroffchannel
      @egoroffchannel  2 года назад +1

      можно и так и так, скорость считывание на программе не сильно скажется

  • @sofiipochta
    @sofiipochta 9 месяцев назад

    Спасибо, посмотрела!

  • @botoklepalka
    @botoklepalka 3 года назад +2

    вопрос на 4:00 минуте. в map(f, a). почему мы не указываем атрибуты в функции f? каким образом осуществляется перебор элементов из массива a?

    • @botoklepalka
      @botoklepalka 3 года назад

      или он понимает, что мы взяли а в качестве второго аргумента и его только и перебирает?

    • @egoroffchannel
      @egoroffchannel  3 года назад

      в видео есть ответы на все эти вопросы

    • @vladumnik192
      @vladumnik192 3 года назад

      @@egoroffchannel map() это класс, а не функция.

  • @DAROM-TK
    @DAROM-TK 4 года назад +1

    Что быстрее будет работать, map или генератор? Если обьем вычислений большой

    • @dranfion4354
      @dranfion4354 4 года назад

      Конечно генератор!

  • @Frezer911
    @Frezer911 2 года назад

    Подскажите на минуте 2:12 он поставил курсор перед каждым значением, как он это сделал.

    • @egoroffchannel
      @egoroffchannel  2 года назад

      альт зажимай и выбирай места

  • @yaroslaw_channel
    @yaroslaw_channel 9 месяцев назад

    cooool heheee

  • @user-nv8xw5ey9w
    @user-nv8xw5ey9w Год назад +1

    доброго дня. пытаюсь реализовать такуй конструкцию... s = list(map(int, list(storage_data.values()), split()))

  • @fores_069
    @fores_069 Год назад

    Интересный факт, что map лежит в основе Параллельного алгоритма MapReduce

  • @Gergel_
    @Gergel_ 4 года назад

    а был в каком-то видео пример, как адаптировать последний ввод через map отсюда к вводу двумерного списка (бесконечного, без range(n) / range(m))?

    • @egoroffchannel
      @egoroffchannel  4 года назад

      что значит бесконечного ввода?

    • @Gergel_
      @Gergel_ 4 года назад

      @@egoroffchannel что на входе надо считывать матрицу любого размера до тех пор, пока не введут "конец". Всмысле ее размерность изначально не определена

    • @egoroffchannel
      @egoroffchannel  4 года назад +1

      @@Gergel_ создаешь до цикла главный список
      считываешь строку в цикле while пока она не равна "конец". Если не равна внутри цикла преобразовываешь в список из целых чисел и добавляешь его в главный список.

    • @Gergel_
      @Gergel_ 4 года назад

      @@egoroffchannel а есть телеграм чат у канала / курса на степике по этим материалам ?

    • @egoroffchannel
      @egoroffchannel  4 года назад +2

      @@Gergel_ канала нет.
      я подобное объяснял как делать в разборах решения задач
      ruclips.net/video/QfqcqeTrSR0/видео.html
      тебе только цикл for на while заменить остается

  • @user-wg2vt4oq4j
    @user-wg2vt4oq4j 2 года назад

    a = ["Hello", "Hi", "Privet"]
    b = list(map(list, a))
    c = list(map(sorted, b))
    print(a)
    print(b)
    print(c)
    Ничего не отсортировалось

  • @lorensiop680
    @lorensiop680 2 года назад

    абоба

  • @radikardashirov195
    @radikardashirov195 Год назад

    W

  • @yuriybaranovskiy9642
    @yuriybaranovskiy9642 3 года назад

    Да ,канал один из луших

  • @stkalashik
    @stkalashik 5 лет назад

    будет ли обзор модулей?

    • @egoroffchannel
      @egoroffchannel  5 лет назад +2

      Да. Какой интересует?

    • @stkalashik
      @stkalashik 5 лет назад +2

      @@egoroffchannel Ну, для начала стандартные)

    • @dizelvinable
      @dizelvinable 4 года назад

      @@egoroffchannel про re хотелось бы посмотреть

  • @krraauutt
    @krraauutt 4 года назад +3

    6:18 олег их гнинром доог

  • @said6434
    @said6434 3 года назад

    а как сделать чтоб число выводились не списком а числами например 253412 тоесть все вместе слитно

  • @Dmitry_Borisovich
    @Dmitry_Borisovich 3 года назад

    В каком редакторе автор работает, кто знает??

  • @user-db5pl6oe9k
    @user-db5pl6oe9k 4 года назад +1

    Я не так давно начал разбираться в Python. То что делает функция map понятно, я не могу понять что это за функция. В чем ее смысловая нагрузка. Допустим функция list преобразует в список, а по такой же логике что обобщенно делает map?

    • @user-lp8ng3kp4c
      @user-lp8ng3kp4c 4 года назад +1

      Если инпуту дать несколько чисел, то выйдет ошибка, как было показано в ролике, а функция мап даёт возможность записывать много целых чисел или же использовать в каких-либо операциях и вычислениях два аргумента

    • @kandreyk9159
      @kandreyk9159 4 года назад

      создает итератор для коллекции, посмотрите в 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

    • @renatar7356
      @renatar7356 4 года назад

      @@user-lp8ng3kp4c 👍

  • @bugen15
    @bugen15 5 лет назад

    +++!!!!

  • @Unhap_py
    @Unhap_py 5 месяцев назад

    2:12 и тут я охуел

  • @im0767
    @im0767 12 дней назад

    спасибо!