#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