【问题标题】:How to find the indices of items in a list, which are present in another list?使用列表查找列表中多个项目的索引
【发布时间】:2018-07-31 14:03:55
【问题描述】:

我想基本上使用一个列表,即。

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 呢?

谢谢

【问题讨论】:

标签: python list


【解决方案1】:
N = []  
for i, num in enumerate(L):  
    if num in R:  
        N.append(i)  

【讨论】:

    【解决方案2】:
    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))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-13
      • 2013-01-07
      • 2010-09-15
      • 2023-02-11
      • 2016-01-25
      • 2012-01-10
      • 1970-01-01
      • 2020-07-20
      相关资源
      最近更新 更多