Как ускорить цикл for
Python
Middle
Без компании
Как ускорить цикл for
Ответы
Используйте генераторы списков или map() вместо классических циклов, так как они работают быстрее благодаря оптимизации внутри Python.
**Пример:**
```
# Медленно
result = []
for i in range(1000):
result.append(i * 2)
# Быстрее (генератор списка)
result = [i * 2 for i in range(1000)]
# Ещё быстрее (map)
result = list(map(lambda x: x * 2, range(1000)))
```
**Дополнительные способы:**
- Используйте `numpy` для числовых операций.
- Применяйте `itertools` для эффективной итерации.
- Избегайте вложенных циклов — замените их на векторизованные операции.
- Для больших данных используйте `functools.lru_cache` для мемоизации.
Если нужна максимальная скорость — перепишите критичные части на Cython или Numba.