Как я могу вычесть один и тот же массив из всех столбцов матрицы? - PullRequest
0 голосов
/ 07 ноября 2018

Как вычесть один и тот же массив из всех столбцов матрицы? Я не могу использовать для циклов.

Например, у меня есть w=([3,2],[4,3]) и v=(1,1), и я хочу w-v=([2,1],[3,2])

Ответы [ 3 ]

0 голосов
/ 07 ноября 2018

Вы можете использовать выражение генератора следующим образом:

tuple([a - b for a, b in zip(r, v)] for r in w)

Возвращает:

([2, 1], [3, 2])
0 голосов
/ 07 ноября 2018

Повторять и обновлять значения списка w

for idx,tup in enumerate(zip(w,v)):
    for inner_idx,k in enumerate(tup[0]):
        w[idx][inner_idx]=k-tup[1]

print(w)#([2, 1], [3, 2])
0 голосов
/ 07 ноября 2018

Вы работаете в numpy?

Это так же просто, как

w = np.array([[3,2], [4,3]])
v = np.array([1,1])
result = w-v

Это полезный навык для numpy, называемый вещание .

...