Kunal Shah
Kunal Shah

Reputation: 614

How can you find the index of a list within a list of lists

I know for 1d arrays there is a function called np.in1d that allows you to find the indices of an array that are present in another array, for example:

a = [0,0,0,24210,0,0,0,0,0,21220,0,0,0,0,0,24410]
b = [24210,24610,24410]

np.in1d(a,b)

yields [False, False, False,  True, False, False, False, False, False,
       False, False, False, False, False, False,  True]

I was wondering if there was a command like this for finding lists in a list of lists?

c = [[1,0,1],[0,0,1],[0,0,0],[0,0,1],[1,1,1]]
d = [[0,0,1],[1,0,1]]

something like np.in2d(c,d)

would yield [True, True, False,  True, False]

Edit: I should add, I tried this with in1d and it flattens the 2d lists so it does not give the correct output.

I did np.in1d(c,d) and the result was [ True,  True,  True,  
True,  True,  True,  True,  True,  True, True,  True,  True,  True,  True,  
True]

Upvotes: 0

Views: 46

Answers (1)

mdgm
mdgm

Reputation: 224

What about this?

[x in d for x in c]

Upvotes: 1

Related Questions