为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕村9548890 2022-07-26 15:44:27
我想使用 a numba.typed.List(将调用它List)传递到我的函数中,该函数包含在njit. 但是,这List应该从现有的 python 列表中创建。当我查看文档时,您创建 a 的方式似乎List是初始化它,然后将元素附加到它。但是,这需要您遍历 python 中已经存在的列表,这对于大型列表来说似乎效率低下。例如:from numba.typed import Listnumba_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'
查看完整描述

2 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

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


py_list = [2,3,5]    

number_list = numba.typed.List(py_list)


查看完整回答
反对 回复 2022-07-26
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

您可以通过以下方式对类型列表使用列表推导:


from numba.typed import List

numba_list = List()

py_list = ["a", "b", "c"]

[numba_list.append(e) for e in py_list]

print(numba_list)

输出:


ListType[unicode_type]([a, b, c])

从Numba Deprecation Notice的一个示例中得出这一点。


查看完整回答
反对 回复 2022-07-26
  • 2 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信