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