Python 使用列表查找列表中多个项目的索引

Python 使用列表查找列表中多个项目的索引,python,list,Python,List,我想基本上使用一个列表 L = [10, 10, 100, 10, 17, 15] 使用另一个列表 R = [10, 15] 想回来吗 N = [0, 1, 3, 5] // indices of L that return the values in R 尝试解决方案 我尝试使用L.index()来获取索引,但它只返回第一个值。然后,我尝试在L上运行一个for循环,每次都使用L.index(R[0]),但类似地,这只返回它在上找到的第一个索引 for i in range(len(

我想基本上使用一个列表

L = [10, 10, 100, 10, 17, 15] 
使用另一个列表

R = [10, 15] 
想回来吗

N = [0, 1, 3, 5] // indices of L that return the values in R
尝试解决方案

我尝试使用L.index()来获取索引,但它只返回第一个值。然后,我尝试在L上运行一个for循环,每次都使用L.index(R[0]),但类似地,这只返回它在上找到的第一个索引

 for i in range(len(L)):
       j = R[i]
       N.append(L.index(j))
 return N
这将返回超出范围的索引,这是有意义的,但是如何让它通过L运行呢

多谢各位

N = []

for i in range(len(L)):

    if L[i] in R:
        N.append(i)
还是用发电机

N = [i for i in range(len(L)) if L[i] in R]
或者使用数组

import numpy as np

N=np.where(np.isin(L,R))

如果x==“任意”零件替换为R中的x零件,则该零件可能重复。如果您先将
R
转换为一个集合
R=set(R)
@Aran Fey,则可以提高效率,但它们同样只用于检查一个值,即一次只能检查一个值,即L.index(#)不能传递一个L。在下面找到了,谢谢!