Встречается на собеседованиях • сегодня

Приведи пример генератора, когда нужно экономить память

Генератор в Python — это функция, которая возвращает итератор с помощью yield. Он экономит память, т.к. не хранит все элементы в памяти сразу, а генерирует их по одному.

Пример: чтение большого файла построчно без загрузки всего файла в память:

python
def read_large_file(file_path):
    with open(file_path, 'r') as file:
        for line in file:
            yield line.strip()

# Использование
for line in read_large_file('huge_file.txt'):
    print(line)  # Обрабатывает по одной строке за раз

Другой пример — генерация бесконечной последовательности:

python
def infinite_counter(start=0):
    while True:
        yield start
        start += 1

counter = infinite_counter()
print(next(counter))  # 0
print(next(counter))  # 1

Генераторы особенно полезны при работе с большими данными или стриминговой обработке.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы