Я пытаюсь написать функцию для вычисления точечного произведения двух 2D списков, переданных в качестве аргументов, давайте назовем их x
и y
.
Моя идея состоит в том, чтобы сначала создать 2D список нулей правильных размеров для результата скалярного произведения. Чтобы сделать это, мне нужно найти размер столбца y
при вычислении x * y
dim1 = len(x)
dim2 = len(y[0])
result = [0]*dim1*dim2
Приведенный выше код был моей идеей для получения этих измерений, однако он не работает во второй строке из-за к ошибке:
dim2 = len(y[0])
TypeError: у объекта типа int нет len ()
Мой python интерпретатор кажется Мне не нравится, что я предполагаю, что мои аргументы будут 2D списками. Кажется, думаю, что это будет одномерный список. Как я могу получить длину столбца 2D списка. Я предполагаю, что передаваемые 2D списки будут иметь размеры NxM
, поэтому это должен быть чистый список / матрица в форме прямоугольника.
Я не могу использовать numpy для этого случая.