我想为数组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的解决方案都是首选。
答案 0 :(得分:11)
您可以使用in1d
我相信 -
np.in1d(A,B)
答案 1 :(得分:2)
要在不使用numpy
的情况下对其进行测试,请尝试:
contained = [a in B for a in A]
结果:
[False, False, True, True, True, False, False, True, False, False,
False, True, True, True, False, False, False, True, False, False,
True, True, True, False, False, True, True, False, False]