我想知道最快的方法来计算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)
....
您可以为此使用设置操作:
def intersection(lst1, lst2):
return list(set(lst1) & set(lst2))
然后只需调用函数intersection(lst1,lst2)
。这将是最简单的方法。