Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: generator, iteration

Как получить значения из генератора?

Вопрос проверяет базовое понимание работы генераторов и способов извлечения значений.

Короткий ответ

Значения из генератора можно получать с помощью цикла for, функции next() или преобразования в список. Цикл for — самый распространённый способ. next() позволяет получать значения по одному. После завершения генератора возникает StopIteration.

Длинный ответ

Генератор возвращает значения постепенно, а не сразу весь набор.

1. Использование цикла for

Самый распространённый способ:

def gen():
    yield 1
    yield 2

for x in gen():
    print(x)

Python сам вызывает next() до завершения генератора.

2. Использование next()

Позволяет получать значения вручную:

g = gen()
print(next(g))
print(next(g))

Следующий вызов приведёт к StopIteration.

3. Преобразование в список

Иногда нужно получить все значения:

list(gen())

Это полностью исчерпывает генератор.

4. Когда какой способ использовать

Рекомендуется:

  1. for — основной вариант

  2. next() — когда нужен контроль

  3. list() — когда объём данных небольшой

Вывод

Получать значения из генератора можно через for, next() или преобразование в коллекцию. Выбор зависит от задачи и объёма данных.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • Python

    Python

Ключевые слова

#generator

#iteration

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.