如何使用Numba创建一个字典类型的类属性?

2024-04-18 13:48:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在Numba类中使用字典,但我不确定类型规范应该放什么:

@numba.jitclass([("cnts", ???)])
class Counter:
    def __init__(self):
        self.cnts = numba.typed.Dict.empty(
            key_type=numba.float64, value_type=numba.int64
        )

你知道吗?你知道吗


Tags: self规范类型字典initdeftypecounter
1条回答
网友
1楼 · 发布于 2024-04-18 13:48:49

在Numba 0.45.1上适用:

import numba

@numba.jitclass([("cnts", numba.types.DictType(numba.float64, numba.int64))])
class Counter:
    def __init__(self):
        self.cnts = numba.typed.Dict.empty(
            key_type=numba.float64, value_type=numba.int64
        )

    def add(self, x):
        if x not in self.cnts:
            self.cnts[x] = 0
        self.cnts[x] += 1

c = Counter()
c.add(1.1)
c.add(1.1)
c.add(0.5)
print(c.cnts)  # {1.1: 2, 0.5: 1}

相关问题 更多 >