Python, как заменить одно значение в массиве на другое в другом массиве, если условие выполнено?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python, как заменить одно значение в массиве на другое в другом массиве, если условие выполнено?

Сообщение Anonymous »

Я хотел бы поменять одно значение массива на значение другого массива в той же соответствующей позиции — если выполняется условие.
Условие следующее: если значение в матрице 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»