def matrix_dot_vector(a, b):
if len(a[0]) != len(b):
return -1
result = []
for row in a:
total = 0
for i in range(len(b)):
total = total + row[i] * b[i]
result.append(total)
return result
행렬곱은 행렬의 열 개수와 벡터의 길이가 다르면 곱할 수 없다.
행의 길이 = len(a), 열의 길이 = len(a[0])
why?
a = [
[1, 2, 3],
[4, 5, 6]
]
행의 길이 = 2, 열의 길이는 = 3
전자는 해당 행을 그대로 꺼내다 씀.
후자는 행의 길이만큼의 인덱스를 꺼내다 씀.
len(a)가 2라고 치면
row = 0, 1