Создайте список типа numba без зацикливания списка python - PullRequest
2 голосов
/ 12 февраля 2020

Я хочу использовать numba.typed.List (собираюсь назвать его List), чтобы перейти к моей функции, которая заключена в njit. Однако этот List должен быть создан из существующего списка python.

Когда я смотрю на документацию , кажется, что способ создания List заключается в его инициализации, а затем добавить элементы к нему. Однако это требует от вас oop по уже существующему списку в 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 без явного зацикливания списка python?

Я использую numba.__version__ = '0.47.0'

1 Ответ

0 голосов
/ 08 мая 2020

Вы можете использовать понимание списков для типизированных списков следующим образом:

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 .

...