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
?
One of the most basic ways to get the index positions of all occurrences of an element in a Python list is by using a for loop and the Python enumerate function. The enumerate function is used to iterate over an object and returns both the index and element.
N = []
for i in range(len(L)):
if L[i] in R:
N.append(i)
or with a generator
N = [i for i in range(len(L)) if L[i] in R]
or with arrays
import numpy as np
N=np.where(np.isin(L,R))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With