This problem seems easy but I cannot quite get a nice-looking solution. I have two numpy arrays (A and B), and I want to get the indices of A where the elements of A are in B and also get the indices of A where the elements are not in B.
So, if
A = np.array([1,2,3,4,5,6,7])
B = np.array([2,4,6])
Currently I am using
C = np.searchsorted(A,B)
which takes advantage of the fact that A
is in order, and gives me [1, 3, 5]
, the indices of the elements that are in A
. This is great, but how do I get D = [0,2,4,6]
, the indices of elements of A
that are not in B
?