Какой вызов создаст массив numpy из нулей формы (7, 3) после import numpy as np?
A
np.zeros((7, 3)): форма передаётся одним кортежем, на выходе двумерный массив 7×3B
np.zeros(7, 3): два позиционных аргумента вместо кортежа формы массиваC
np.zeros(7*3): одномерный массив длины 21 без разбивки на строки и столбцыD
np.array([0] * 21): одномерный массив из 21 нуля без формы (7, 3)Правильный ответ. Для двумерного массива форму передают как кортеж:
np.zeros((rows, cols)).Разбор
np.zeros((7, 3)) создаёт двумерный массив нулей с 7 строками и 3 столбцами — форма передаётся одним кортежем. Частая ошибка новичка — передать два аргумента вместо кортежа (np.zeros(7, 3)) или создать одномерный массив длины 21 (np.zeros(7*3)). Создание массива через np.array([0] * 21) тоже даёт одномерный список, а не нужную форму (7, 3).
Проверь себя · 1/3разбор после ответа
Какое значение вернёт
arr.shape, если arr = np.array([[1, 2, 3], [4, 5, 6]])?Ещё вопросы по теме «NumPy: основы»
- После `import numpy as np` вы сравниваете операции над списком Python `list` и массивом `np.ndarray`. Что верно для `lst * 2` и `arr * 2`, где `lst = [1, 2, 3]`, а `arr = np.array([1, 2, 3])`?
- Какое значение вернёт `arr.shape`, если `arr = np.array([[1, 2, 3], [4, 5, 6]])`?
- Что будет результатом выражения `arr + 10`, если `arr = np.array([1, 2, 3])`?
- Пусть `x = np.array([[1, 2], [3, 4]])`. Чему равен результат `np.sum(x, axis=0)`?
- Вы считаете метрику по большому массиву чисел и выбираете NumPy вместо Python `list`. Почему операции вроде `arr * 1.1` на `ndarray` обычно быстрее, чем цикл `for` по `list`?
- Все вопросы по «NumPy: основы» →