Курс Python → Генераторы в Python
В Python есть концепция генераторов, которая позволяет создавать итерируемые объекты, генерируя элементы по мере необходимости. В инструкции упомянут пример с генератором, который создает массивы array_1, array_2 и array_3, а затем использует их для создания массива array_4. По логике, значения в массиве array_4 должны быть аналогичными значениям в массиве array_1.
Однако, в соответствии с PEP-289, в Python генераторы вычисляют значения немедленно только для самого внешнего выражения for, в то время как остальные выражения откладываются до момента запуска генератора. Это означает, что при использовании генераторов, значения могут быть вычислены в другом порядке, чем ожидается.
Для более ясного понимания работы генераторов в данном контексте, можно привести пример кода:
array_1 = [1, 2, 3]
array_2 = [10, 20, 30]
def gen():
for i in array_1:
for j in array_2:
yield i + j
array_3 = list(gen())
array_4 = list(gen())
В данном примере, при вызове функции gen() для создания массивов array_3 и array_4, значения будут вычислены в разном порядке из-за особенностей работы генераторов. Поэтому, значения в массиве array_4 могут отличаться от ожидаемых, что объясняется принципами работы генераторов в Python.
Другие уроки курса "Python"
- Бесконечная проверка в Python
- Создание вложенных циклов for
- Метод lt для сортировки объектов
- Объединение словарей в Python
- OrderedDict — упорядоченный словарь
- Отправка HTTP-запросов с User-Agent
- Срезы в Python
- Поиск email
- Работа с комплексными числами
- Экспорт данных в файл.
- Библиотека funcy: удобные утилиты
- Основные функции и модули Python
- Использование defaultdict в Python
- Модуль future Python
- Объединение списков с использованием itertools.chain
- Декодирование байтов в строку
- Применение функции к списку
- Извлечение аудио из видео
- Склеивание строк без циклов
- Возведение в квадрат с помощью itertools
- Установка Git и AWS CLI
- Создание директории в Python
- Работа с необработанными строками
- Работа с пользовательским вводом
- Метод setdefault() в Python
- Обязательные аргументы в Python
- Numpy: объединение массивов
- Функции-генераторы в Python
- Оператор обр. импликации
- Декоратор @override
- Оператор морж в Python 3.8
- Проверка типа объекта в Python
- Особенности ключей словаря в Python
- Сортировка списка по индексам
- Изменение переменной в Python: nonlocal
- Работа с временем в Python
- Основы работы со списками
- Python: возвращение нескольких значений
- Генераторы списков в Python
- Импорт модулей и пакетов в Python
- Преобразование документов в PDF с помощью Spire.Office
- F-строки в Python 3.8
- Преобразование Excel в PDF с Spire.XLS
- Расчет времени выполнения
- Проверка ввода с помощью isdigit
- Запрос DELETE с библиотекой requests















