2
我想为数组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'中有'*也*,但不会返回OP所要求的bool。只是一个笔记。 :) – Zizouz212 2015-04-04 22:20:22
@ Zizouz212这一个看起来更好:)谢谢,现在更新... – Selcuk 2015-04-04 22:21:58
对于这个小例子,这个列表理解比'np.in1d'快得多。 – hpaulj 2015-04-05 17:21:44