После import numpy as np вы сравниваете операции над Python list и NumPy ndarray. Что верно для lst * 2 и arr * 2, где lst = [1, 2, 3], а arr = np.array([1, 2, 3])?

Alst * 2 повторит элементы списка два раза, а arr * 2 умножит каждый элемент массива на 2.
BОбе операции умножат элементы поэлементно.
CОбе операции повторят значения два раза (как склейка).
DОбе операции вызовут ошибку типов.
Правильный ответ. У list оператор * повторяет список, а у ndarray он выполняет поэлементную арифметику.

Разбор

В Python list — контейнер, и выражение lst * 2 означает «повторить элементы списка». NumPy ndarray предназначен для численных операций, поэтому arr * 2 — это поэлементное умножение (векторизация). Это одно из ключевых отличий list vs ndarray и частая причина, почему аналитики выбирают NumPy для массивов чисел.

Проверь себя · 1/3разбор после ответа
Пусть m = np.array([[1, 2, 3], [4, 5, 6]]). Чему равен np.mean(m, axis=1)?
Тренировать Python в Telegram

Ещё вопросы по теме «NumPy: основы»