Представляю вашему вниманию 5 простых советов как ускорить код на Python – это сравнительные примеры с отображением времени.
Часто встроенные функции могут заменить циклы и ускорить выполнение кода. Например, для преобразования каждого элемента списка в заглавную букву можно использовать функцию map() и метод capitalize():
# медленный способ
start = time.time()
new_list = []
for word in word_list:
new_list.append(word.capitalize())
print(time.time() - start, "секунд")
>>>> 4.935264587402344e секунды
# быстрый способ
start = time.time()
word_list = ['Ways', 'to', 'Make', 'Your', 'Python', 'Code', 'Faster']
new_list = list(map(str.capitalize, word_list))
print(time.time() - start, "секунд")
>>>> 0.00029468536376953125 ceкунды
join() вместо конкатенации строкКонкатенация строк через += может быть медленной, особенно при больших объемах данных. Вместо этого используйте метод join():
# медленный способ
start = time.time()
new_list = []
for word in word_list:
new_list += word
print(time.time() - start, "секунд")
>>>>> 5.7220458984375e-05 секунд
# быстрый способ
start = time.time()
word_list = ['Ways', 'to', 'Make', 'Your', 'Python', 'Code', 'Faster']
new_list = "".join(word_list)
print(time.time() - start, "секунд")
>>>>> 0.0001430511474609375 секунд
Использование функций list() и dict() для создания новых списков и словарей может быть медленным. Вместо этого используйте квадратные скобки и фигурные скобки:
# медленный способ
slower_list = timeit.timeit("list()", number=10**6)
slower_dict = timeit.timeit("dict()", number=10**6)
# быстрый способ
faster_list = timeit.timeit("[]", number=10**6)
faster_dict = timeit.timeit("{}", number=10**6)
>>>>> slower_list: 0.03651356499995018 sec
>>>>> slower_dict: 0.047055111999952715 sec
>>>>> faster_list: 0.010666104999927484 sec
>>>>> faster_dict: 0.010838708999926894 sec Использование оператора + для конкатенации строк может быть медленным. Вместо этого используйте f-строки:
# медленный способ
start = time.time()
me = "Python"
string = "Make " + me + " faster"
print(time.time() - start, "секунд")
>>>>> 0.06872344017028809 секунд
# быстрый способ
start = time.time()
me = "Python"
string = f"Make {me} faster"
print(time.time() - start, "секунд")
>>>> 0.04211759567260742 секунд
List comprehension – это компактный и быстрый способ создания списка в Python. Он состоит из квадратных скобок, содержащих выражение, за которым следует цикл for, который перебирает элементы, которые будут включены в список.
#slow
start = time.time()
new_list = []
existing_list = range(1000000) for i in existing_list:
if i % 2 == 1:
new_list.append(i)
print(time.time() - start, "секунд")
>>>>> 0.06872344017028809 seconds
#fast
start = time.time()
existing_list = range(1000000)
new_list = [i for i in existing_list if i % 2 == 1]
print(time.time() - start, "seconds")
>>>>> 0.04211759567260742 seconds Если при открытие csv файла с помощью excel У все поехали ячейки - это простой… Read More
Простые шаги как происходит Загрузка проекта на Github и Автодеплой на сервер Сделайте работу проще! Read More
Миграция базы данных - помогают с этим библиотеки SQLAlchemy и Alembic. Read More
Основные Команды Git, которые точно пригодятся. Сохрани себе шпаргалку Git Read More
Установка PostgreSQL на сервер Read More
Как создать PrimaryKey в талице базы данных SQL [РЕШЕНО] Ошибка relation tablename_id_seq doesn't exist Read More