Я хотел бы вернуть логическое значение для каждого значения в массиве A
, которое указывает, находится ли он в массиве B
. Это должна быть стандартная процедура, я думаю, но я не могу найти никакой информации о том, как это сделать. Моя попытка ниже:Проверить массив - это значение, содержащееся в другом массиве?
A = ['User0','User1','User2','User3','User4','User0','User1','User2','User3'
'User4','User0','User1','User2','User3','User4','User0','User1','User2'
'User3','User4','User0','User1','User2','User3','User4','User0','User1'
'User2','User3','User4','User0','User1']
B = ['User3', 'User2', 'User4']
contained = (A in B)
Однако я получаю ошибку:
ValueError: shape mismatch: objects cannot be broadcast to a single shape
Я использую NumPy так любое решение, используя NumPy или стандартный Python будет предпочтительным.
Это добавляет, что 'contained' независимо 'A' имеет это * также * в' B', но не возвращает bool, как запросил OP. Просто записка. :) – Zizouz212
@ Zizouz212 Это выглядело лучше :) Спасибо, теперь обновлено ... – Selcuk
Для этого небольшого примера это понимание списка значительно быстрее, чем 'np.in1d'. – hpaulj