2 месяца назад
Итераторы и генераторы: как не взорвать память и писать элегантный код
Вы когда-нибудь пробовали создать список из миллиона чисел? Память начинает трещать по швам. А если нужно прочитать огромный лог-файл — загружать его целиком? Нет, есть способ лучше. Знакомьтесь: итераторы и генераторы. Они позволяют обрабатывать данные по одному элементу, не храня всё сразу. Это экономит память, ускоряет запуск и делает код чище. Итератор — это объект, который умеет выдавать элементы по одному. У него есть метод __next__(): при каждом вызове возвращается следующий элемент, а когда элементы кончаются — бросается исключение StopIteration...