Jestem całkiem nowy w Pythonie i próbuję utworzyć funkcję do mnożenia wektora przez macierz (o dowolnym rozmiarze kolumny). npPython 3: Pomnożenie wektora przez macierz bez NumPy
multiply([1,0,0,1,0,0], [[0,1],[1,1],[1,0],[1,0],[1,1],[0,1]])
[1, 1]
Oto mój kod:
def multiply(v, G):
result = []
total = 0
for i in range(len(G)):
r = G[i]
for j in range(len(v)):
total += r[j] * v[j]
result.append(total)
return result
Problemem jest to, że gdy próbuję wybrać pierwszy wiersz każdej kolumny w macierzy (R [j]) błąd „listy indeks poza zasięgiem ". Czy istnieje inny sposób wykonania mnożenia bez użycia NumPy?
To nie wygląda na odpowiednie dla początkujących. – physicalattraction
@physicalattraction dodaję więcej opisu;) – Kasramvd
Dzięki. Nie natknąłem się na funkcję zip - czyni to o wiele łatwiejszym! Ostatnią rzeczą, otrzymuję błąd składniowy, gdy próbuję zwrócić sumę (mul (k, t)). Podkreślono zewnętrzne nawiasy kwadratowe, które, jak przypuszczam, zwracają sumę jako listę? – JGraham353