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

Какие знаешь проблемы с производительностью у цикла for

Основные проблемы с производительностью циклов for в Python:

  1. Итерация по большим коллекциям: Нативная итерация в Python медленнее, чем в компилируемых языках. Для больших данных лучше использовать map(), генераторы или numpy.

  2. Вложенные циклы: Каждый вложенный цикл увеличивает сложность O(n²) и выше. В таких случаях стоит рассмотреть векторизацию или оптимизацию алгоритма.

python
# Плохо (O(n²))
for i in range(1000):
    for j in range(1000):
        pass

# Лучше использовать itertools.product
from itertools import product
for i, j in product(range(1000), range(1000)):
    pass
  1. Создание временных объектов: Частое использование range() или создание списков внутри цикла потребляет память. Генераторы экономят ресурсы.

  2. Использование for вместо специализированных функций: Для агрегации (sum(), max()) встроенные функции работают быстрее.

  3. Глобальные переменные в цикле: Доступ к ним медленнее, чем к локальным. Лучше присвоить локальную копию.

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

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

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

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