创建一个 numba 类型列表而不遍历 python 列表

RK1*_*RK1 4 python numba

我想使用一个numba.typed.List(将要调用它List)传递到我的函数中,该函数包含在njit. 然而这List应该从现有的 python 列表中创建。

当我查看文档时,它似乎是您创建一个的方式List是对其进行初始化,然后向其附加元素。但是,这需要您遍历 python 中已经存在的列表,这对于大型列表来说似乎效率低下。

例如:

from numba.typed import List
numba_list = List()
py_list = ["a", "b", "c"]
for e in py_list:
    numba_list.append(e)

In [17]: numba_list[0]
Out[17]: 'a'
Run Code Online (Sandbox Code Playgroud)

有没有办法在List不显式循环 python 列表的情况下将 a 设置为python 列表的值?

我正在使用numba.__version__= '0.47.0'

Tob*_*nst 5

我正在 numba 0.49.1 上工作,您可以在其中通过构造传递列表。

py_list = [2,3,5]    
number_list = numba.typed.List(py_list)
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是它仍然很慢 (2认同)