首页 > 解决方案 > 使用 Numpy 创建类似字典的 Hashmap 结构

问题描述

是否可以创建一个类似于 Python 字典但在其中使用 numpy 数组的结构?

例如,如果我们有 2 个numpy.ndarray名为keysand vals,我们如何使用它们来创建一个NumpyHashmap行为类似于常规 Python 字典但由numpy.ndarrays 支持的类?

这样做的目的是拥有比 Python 字典更节省内存的结构。NumpyHashmap可以是不可变的。

import numpy as np

keys = np.array([1, 13, 24, 35, 92], dtype=np.uint16)
vals = np.array([1.234, 2.345, 3.456, 4.567, 5.678], dtype=np.float32)

# How to create a numpy-backed dictionary/hashmap?
hashmap = NumpyHashmap(keys, vals)
print(hashmap[13])      # 2.345

标签: pythonarrayspython-3.xnumpydata-structures

解决方案


推荐阅读