python - 如何用Numba创建dict类型的类属性?

标签 python numba

我想在 Numba 类中使用字典,但我不确定要为类型规范添加什么:

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

有什么想法吗?

最佳答案

这对我在 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}

关于python - 如何用Numba创建dict类型的类属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57529501/

相关文章:

python - Python 3 中 float 的精确累积和

python - 如果不允许内容类型,如何丢弃上传的文件?

python - eventlet.monkey_patch() 抛出异常 : The SECRET_KEY setting must not be empty

python - 尝试 numba 的包装

python3.6 ssl错误

python - 如何将 Pandas 数据添加到现有的 csv 文件中?

python - 在 Python/Numba 中访问数组会产生奇怪的结果

python - numba 中反射列表签名的问题

python - 未能实现卡尔达诺方法。复数的立方根

python - 如何加快 numpy 数组和非常大的矩阵之间的余弦相似度?