Прошу прощения, если об этом спрашивали раньше, но я не могу найти ответ или не ищу ответ правильно.
В настоящее время я пишу код на Python, используя numpy, и моя функция принимает входные данные в виде матрицы. Я хочу просматривать 1D-массив как 2D-массив (1 на n).
Вот минимальный пример моей проблемы
import numpy as np
def add_corners(A, B):
r = A[0, 0] + B[B.shape[0] - 1, B.shape[1] - 1]
return r
C = np.array([[1, 2, 3], [4, 5, 6]])
D = np.array([[9, 8], [7, 6], [5, 4], [10, 11]])
E = np.array([1, 2, 3, 4, 5])
print(add_corners(C, D))
print(add_corners(C, E))
print (add_corners (C, E)) приводит к ошибке, так как E.shape[1] не вполне определен. Есть ли способ обойти это без добавления оператора if, чтобы проверить, содержит ли мой ввод 1D-массив? То есть я хочу называть записи E как E[1,x] в отличие от просто E[x].
Любая помощь приветствуется!