Я хочу создать массив без if () of for (), но использовать where () - PullRequest
0 голосов
/ 02 апреля 2020

Я решаю некоторые проблемы, и он спрашивает меня: «В Python решить эти проблемы с помощью где () в Numpy без использования for () или if ()» Существует два массива. Первый -

[1,2,3,5,3,4,3,6,9,7,0,8,7,10]

Второе значение равно

[7,2,10,5,7,4,9,1,8,0,3,7,6]

И результат Один равен «В двух массивах оба имеют одинаковые значения [2 5 4 9 0 7]», второй - В двух массивах оба индекса одинаковые ( массив ([1, 3, 5, 8, 10, 12])) Поэтому мне нужно найти эти условия как те же значения, что и в Индексе, который я пытался решить. Но я не понимаю, как найти оба. Я имею в виду, что нашел Индекс, но не смог найти оба.

1 Ответ

0 голосов
/ 02 апреля 2020

Сначала убедитесь, что массивы имеют одинаковую длину. Затем вы можете использовать == для поэлементного сравнения

a == b
# array([False,  True, False,  True, False,  True, False, False, False,
#        False, False, False, False])

получить равные значения, используя

b[a == b]
# array([2, 5, 4])

, а индексы -

np.where(a == b)[0]
# array([1, 3, 5])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...