'How to find the indices of items in a list, which are present in another list?

I want to essentially use one list ie.

L = [10, 10, 100, 10, 17, 15]

and using another list

R = [10, 15] 

want to return

N = [0, 1, 3, 5] // indices of L that return the values in R

I tried using L.index() to get the indices but that only returns the first value. I then tried running a for loop over L and using L.index(R[0]) every time, but similarly that only returns the first indices it finds at.

 for i in range(len(L)):
       j = R[i]
       N.append(L.index(j))
 return N

This would return index out of range which makes sense, but how do I get it to run through the L?



Solution 1:[1]

N = []  
for i, num in enumerate(L):  
    if num in R:  
        N.append(i)  

Solution 2:[2]

[i for i,l in enumerate(L) if l in R]

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Angelos