TGViewer
Python обучающий Python обучающий @pythonist24 · 55.8K subscribers
Post #615 16.4K
Лямбда-выражения

Пару недель назад мы получили вопрос от читателя, который и сподвиг нас на написание данной статьи. Вопрос был такой: «Почему объект типа x = map(lambda x: x * 2, [1 ,2, 3, 4, 5]) совсем не занимает места, а вот после применения функции list(x) к данному объекту в памяти оказываются все значения этого выражения?»

Мы надеемся, что на данный момент вы уже понимаете, что тут происходит. Объект на выходе функции map также ленивый и может быть проитерирован. Вычисление x * 2 выполняется только для одного элемента в каждом цикле. Если вы примените функцию list(x), то вычислите сразу все элементы списка. Таким образом, если вы хотите итерировать объект map, функцию list() применять не нужно.
More from @pythonist24
  1. Mar 26, 2026Самая быстрая библиотека для захвата экрана на Windows — d3dshot (работает через DXGI и Di…
  2. Dec 25, 2025Аккуратно игнорируем ошибки без try/except Иногда ошибка — это нормальное поведение програ…
  3. Dec 15, 2025Получаем значения из словаря без KeyError Новички часто сталкиваются с ошибкой KeyError, к…
  4. Dec 11, 2025Как красиво логировать объекты без ручного форматирования Когда нужно записать в лог сложн…
  5. Nov 22, 2025Быстрое измерение времени выполнения кода без time и декораторов Иногда нужно прикинуть, с…
  6. Nov 22, 2025Удобный вывод SQL-запросов прямо в консоль с форматированием Когда вы работаете с SQLAlche…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →