Как определить, является ли матрица 1-D или 2-D, или... как узнать, является ли len(lst) количеством строк 2-D матрицы иPython

Программы на Python
Ответить
Anonymous
 Как определить, является ли матрица 1-D или 2-D, или... как узнать, является ли len(lst) количеством строк 2-D матрицы и

Сообщение Anonymous »

Я изучаю Python и озадачен этой ошибкой, когда пытаюсь определить, является ли матрица одномерной или двухмерной. (все они целые и прямоугольные, так как я их умножаю. Вот почему я называю их матрицами)
Я пытаюсь найти размеры матриц, чтобы создать новую матрицу представляющие свой продукт. (m,n) x (n,p) = (m,p)
Как узнать, является ли len(lst) количеством строк двумерной матрицы или количество столбцов одномерной матрицы?
Подход 1
def matrix_multiplication(H, lst):
# your code here
print(f'H {H}')
print(f'lst {lst}')

rA = len(H)
cA = len(H[0]) if rA > 0 else 0
rB = len(lst)
cB = len(lst[0]) if rB > 0 else 0
print(f'H: {rA}x{cA}')
print(f'lst: {rB}x{cB}')
return (H)

A1 = [[0,1,0,1],[1,0,0,0],[1,0,1,1]]
b1 = [1,1,1,0]
c1 = matrix_multiplication(A1, b1)
print('c1=', c1)
assert c1 == [1,1,0] , 'Test 1 failed'

--------ВЫВОД----------
H [[0, 1, 0, 1], [1, 0, 0, 0], [1, 0, 1, 1]] lst [1, 1, 1, 0] Traceback (most recent call last): File "c:\Users\Me\Documents\Learn\MS-CS\Foundations of Data Structures and Algorithms\assignment_week3.py", line 42, in
c1 = matrix_multiplication(A1, b1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\Users\Me\Documents\Learn\MS-CS\Foundations of Data Structures and Algorithms\assignment_week3.py", line 20, in matrix_multiplication
cB = len(lst[0]) if rB > 0 else 0
^^^^^^^^^^^ TypeError: object of type 'int' has no len()
------------------------


Подробнее здесь: https://stackoverflow.com/questions/791 ... -the-numbe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»