Создайте словарную структуру хэш-карты с помощью Numpy

#python #arrays #python-3.x #numpy #data-structures

#python #массивы #python-3.x #numpy #структуры данных

Вопрос:

Возможно ли создать структуру, подобную словарю Python, но используя внутри нее массивы numpy?

Например, если у нас есть 2 numpy.ndarray имени keys и vals , как мы можем использовать их для создания класса, NumpyHashmap который будет вести себя как обычный словарь Python, но поддерживается numpy.ndarray s?

Цель этого — иметь более эффективную структуру памяти, чем словари 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