Условие следующее: если значение в матрице A = 1, поменяйте местами это со значением в той же позиции матрицы B.
Например:
Код: Выделить всё
Matrix A:
[ [ 1 0 0 1]
[0 0 1 0]
[0 1 0 0]
[0 1 1 0] ]
Matrix B:
[[ 0.7 0.3 0.9 0.2]
[0.1 0.2 0.5 0.6]
[0.2 0.8 0.1 0.4]
[0.6 0.4 0.7 0.2]]
Desired Outcome:
[[ 0.7 0 0 0.2]
[0 0 0.5 0]
[0 0.8 0 0]
[0 0.4 0.7 0]]
Код: Выделить всё
for i in range(0,4):
for i in range(0,4):
if (A[i,j] == 1):
A[i,j] = B[i,j]
print(A)
Ошибка: значение истинности массива, содержащего более одного элемента, неоднозначно. Используйте a.any() или a.all()
Я знаю, что это связано с условием, зависящим от значения 1. Как мне согласовать это, чтобы увидеть, что это не так? «логическое значение истины», но фактическое значение «1»? Спасибо, любое предложение будет оценено по достоинству.
Подробнее здесь: https://stackoverflow.com/questions/793 ... t-array-if