Что выведет код Junior NumPy: массивы и векторизация обновлено

Broadcasting строки и столбца

Вопрос

Что выведет код? По строке на каждый print.

import numpy as np
row = np.array([1, 2, 3])
col = np.array([[10], [20]])
r = row + col
print(r.shape)
print(r.sum(axis=1).tolist())

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: (2, 3), [36, 66]. Формы (3,) и (2, 1) выравниваются справа: (1, 3) и (2, 1) дают (2, 3).

Что выведет

(2, 3)
[36, 66]

Разбор

Формы (3,) и (2, 1) выравниваются справа: (1, 3) и (2, 1) дают (2, 3). Строки результата [11, 12, 13] и [21, 22, 23], суммы по axis=1 (вдоль строки) равны 36 и 66. Форма печатается как кортеж (2, 3).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.