С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Kenen
10 / 10 / 0
Регистрация: 22.01.2023
Сообщений: 24

Генераторы в python

06.05.2023, 16:24. Показов 894. Ответов 3

Студворк — интернет-сервис помощи студентам
Генераторы в python - это штука, которая не производит вычисления махом, а выдает результаты по требованию. Генераторные функции и выражения возвращают генераторы. Вопрос, то что возвращает map или filter это генераторы? Мы тоже, по идее, запрашиваем результаты пошагово с помощью next. А то что получаем с помощью функции iter это точно итератор, но в каких случаях это еще и генератор? Или генератор это только результат генераторных функций и выражений? Короче, кто знает за генераторы и итераторы, прошу помочь понять.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.05.2023, 16:24
Ответы с готовыми решениями:

Генераторы на python
Написать генератор, возвращающий сначала все числа из единственного аргумента-кортежа (в порядке следования), не превосходящие его нулевой...

Функции генераторы и выражения генераторы
Всем доброго времени суток, изучаю такую тему как Функции-генераторы и появился вопрос, для чего они могут пригодиться, к примеру есть...

Генераторы
Здравствуйте! Подскажите, пожалуйста, как можно повторно использовать генераторы? Так выполняется только первый foreach: $gen =...

3
 Аватар для Semen-Semenich
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
06.05.2023, 16:55
Итераторы и генераторы в Python разве это так трудно???
2
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
06.05.2023, 17:06
Лучший ответ Сообщение было отмечено Kenen как решение

Решение

Kenen, это хороший вопрос и с ним часто бывает путаница, отсылаю тебя к доке
https://docs.python.org/3/glossary.html#glossary

По сути генератор - наследник итератора, то есть любой генератор это и итератор, но не наоборот. например

generator expression
An expression that returns an iterator.
Итератор или перебиратель - это объект умеющий собственно перебирать некий набор данных по 1 значению, пока не получит StopIteration. Он не влияет на последовательность и максимально прост.

Генератор - объект способный генерировать последовательности по определенным правилам, он сложнее в том плане что хранит некоторое состояние (как минимум способ генерации следующего элемента) а также и локальные переменные (для функции-генератора).

ТО есть итератор прост и он не виноват что перебирает скажем огромный список и занимает память, потому что его дело просто по 1 доставать, он может и что-то ленивое перебирать.
Генератор посложнее и обычно не занимает памяти в силу своей организации.
Никто не может помешать тебе написать генератор занимающий всю память или перебирать итератором свою коллекцию заведомо ленивую и не занимающую память.




Цитата Сообщение от Kenen Посмотреть сообщение
map или filter это генераторы?
спорный вопрос, я бы сказал что это точно итераторы
3
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,213
06.05.2023, 18:21
Цитата Сообщение от Kenen Посмотреть сообщение
Вопрос, то что возвращает map или filter это генераторы?
Чтобы было проще понять и запомнить, надо обратить внимание на функционал... функция-генератор и выражение-генератор создают итерируемые объекты, которые производят результат по запросу, а map и filter перебирают готовые итерируемые объекты и применяют к элементам функции, хоть и выдают результат также по запросу...
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.05.2023, 18:21
Помогаю со студенческими работами здесь

Генераторы
В общем, написал функцию, она создает генератор потока для д итерируемого объекта . Генератор потока должен быть равен исходному потоку...

Генераторы списков
По значениям списка (назовем его X) из первого задания создать новый список Y с помощью генератора списков. Y должен состоять из следующих...

Генераторы цифр
Здравствуйте, ищу готовые коды либо готовые программы "генераторы цифр" чтобы можно было настроить в определенном диапазоне и выбрать...

Генераторы перестановок
Здравствуйте, прошу помощи в решение задачи такого рода: Вася составляет слова, которые можно назвать набором букв. Состоят они от 3 до 6...

Генераторы текстов
Для начала скажу, что такие сателиты пригодятся только для продажи ссылок. Как насчёт рерайта контента с помощью синономайзеров и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru