以数字表示的两个列表的交集

问题描述 投票:0回答:1

我想知道最快的方法来计算numba函数中两个列表的交集。只是为了澄清:两个列表的交集的示例:

Input : 
lst1 = [15, 9, 10, 56, 23, 78, 5, 4, 9]
lst2 = [9, 4, 5, 36, 47, 26, 10, 45, 87]
Output :
[9, 10, 4, 5]

问题是,这需要在numba函数内计算,因此例如套不能使用。你有想法吗?我当前的代码非常基础。我认为还有改进的空间。

@nb.njit
def intersection:
   result = []
   for element1 in lst1:
      for element2 in lst2:
         if element1 == element2:
            result.append(element1)
   ....
python performance numba
1个回答
0
投票

您可以为此使用设置操作:

def intersection(lst1, lst2): 
    return list(set(lst1) & set(lst2))

然后只需调用函数intersection(lst1,lst2)。这将是最简单的方法。

© www.soinside.com 2019 - 2024. All rights reserved.