Имея следующие массивы (я понимаю, что первый называется матрицей)
ids = np.array([['Peter Parker','Spiderman'],['Ben Reilly','Scarlet Spider'],['Norman Osborn','Green Goblin'],['Bruce Banner','Hulk']])
А также
heroes=np.array(['Spiderman','Scarlet Spider','Capitan America','Iron Man'])
Я могу найти значения «героев», которые соответствуют строкам в «идентификаторах», но я могу распечатать только такие совпадения, как
print(ids[np.where(ids==(np.row_stack(heroes)))])
Какие выходы
['Spiderman' 'Scarlet Spider']
Можно ли (и как) распечатать их как ?
['Peter Parker' 'Ben Reilly']
примечание Это заданное упражнение, я не ожидаю других требований, таких как количество элементов в массиве heroes
, отличающееся от количества строк в массиве ids
(это нарушит мой текущий код из-за использование row_stack
).
Но я заметил, что мой where
не будет находить повторяющиеся значения в массиве ids
(например, если у меня есть 2 «Человека-паука» с разным именем, и оба имени появляются в массиве heroes
), не стесняйтесь расширять это, но главный вопрос в том, что я просто писал без других заданных ограничений.