使用列表

时间:2018-02-21 04:44:58

标签: 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

在SOLN尝试

我尝试使用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?

谢谢

1 个答案:

答案 0 :(得分:5)

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))