1104 читали · 4 года назад
Ускоряем код с помощью векторизации Python
Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами. Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize. По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент...
461 читали · 4 года назад
Генераторы в Python — что это и как с этим работать.
Работали ли вы с настолько огромным объемом данных, что он переполнял память компьютера? Я часто с этим сталкивался, пока не услышал о генераторах. Иногда на собеседованиях или иных тестах на оценку знаний предлагают такую задачу: Перед вами два выражения. Определите, что выведет каждое из них и в чем их разница. a = [i * i in range(5)] b = (i * i in range(5)) Если вы сомневаетесь в своих знаниях, то эта статья для вас. Использование Генераторов Функции генераторов (их описание можно почитать в PEP 255) представляют собой особый вид функций, которые возвращают «ленивый итератор»...