Sono abbastanza nuovo per Python e sto provando a creare una funzione per moltiplicare un vettore per matrice (di qualsiasi dimensione di colonna). esempio:Python 3: moltiplica un vettore per matrice senza NumPy
multiply([1,0,0,1,0,0], [[0,1],[1,1],[1,0],[1,0],[1,1],[0,1]])
[1, 1]
Ecco il mio codice:
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
Il problema è che quando cerco di selezionare la prima riga di ogni colonna della matrice (r [j]) l'errore 'lista indice fuori intervallo 'è mostrato. C'è un altro modo per completare la moltiplicazione senza usare NumPy?
Questo non sembra adatto per un principiante. – physicalattraction
@physicalattraction aggiungerò altra descrizione;) – Kasramvd
Grazie. Non mi ero imbattuto nella funzione zip - lo rende molto più semplice! Un'ultima cosa, sto ricevendo un errore di sintassi quando provo a restituire la somma (mul (k, t)). Sono evidenziate le parentesi quadre esterne, che presumo restituisce la somma come una lista? – JGraham353