Вы были очень близки.Проблема заключалась в том, что вы использовали двойные индексы [i][j]
для ссылки на свои вложенные списки.Вы должны просто использовать индекс i
.Остальная часть вашего кода в порядке.
x = [[1,2,3],[4,5,6],[7,8,9]]
y = [10,100,1000]
xy = [[] for i in range(3)]
for i in range(3):
for j in range(3):
xy[i] += [y[i] * x[i][j]]
# [[10, 20, 30], [400, 500, 600], [7000, 8000, 9000]]
Альтернатива для использования append
for i in range(3):
for j in range(3):
xy[i].append(y[i] * x[i][j])
Альтернатива с использованием NumPy
import numpy as n
x = np.array([[1,2,3],[4,5,6],[7,8,9]])
y = np.array([10,100,1000])
xy = (x.T*y).T