🔢 Сегодня сравним все возможные способы возведения списка в квадрат в
Python 🐍🦄 Во-первых, создадим список:
my_list = [1, 2, 3, 4, 5]🌈 Теперь рассмотрим различные способы возведения списка в квадрат:
1️⃣ Цикл
for и метод append():squared_list = []
for num in my_list:
squared_list.append(num ** 2)2️⃣ Списковое включение:
squared_list = [num ** 2 for num in my_list]3️⃣ Функция
map():
squared_list = list(map(lambda num: num ** 2, my_list))
4️⃣ Массив
numpy:
import numpy as np
my_array = np.array(my_list)
squared_array = np.square(my_array)
squared_list = squared_array.tolist()
🔬Теперь проверим какой способ самый быстрый в зависимости от количества элементов в списке! Для этого воспользуемся библиотекой timeit. Диапазон значений для списка будет от 0 до 500 000 элементов. 🏁 Массив
Numpy неоспоримый чемпион по скорости! Практически в 5 раз превышающий цикл и функцию map(), которая я думал будет быстрее. Списковое включение не только лаконичный, но и самый быстр способ возведения списка в квадрата без использовался дополнительных библиотек. ✒️ Как Вам такие питоновские гонки? Что еще было бы интересно Вам сравнить? Какие способы возведения списка в квадрат Вы еще знаете?
🏠 В качестве задания попробуйте использовать не метод
np.square(), а broadcasting.#numpy #python
