首页 > 解决方案 > 创建一个 numba 类型的列表而不循环遍历 python 列表

问题描述

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

当我查看文档时,您创建 a 的方式似乎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'

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

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

标签: pythonnumba

解决方案


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

py_list = [2,3,5]    
number_list = numba.typed.List(py_list)

推荐阅读