как хранить ключ-значение, а также ключ-значение в Python? - PullRequest
4 голосов
/ 23 мая 2011

У меня есть эта довольно большая структура данных, которая хранит пары данных.Отдельные данные являются крошечными и легко хэшируемыми, и там есть что-то вроде нескольких сотен тысяч точек данных.

Сначала это был простой запрос, доступ к которому осуществлялся только ключами.Позже, однако, я обнаружил, что мне также необходимо получить доступ к нему по значению, то есть получить ключ для определенного значения.Так как это делалось несколько реже (~ 1/10), чем доступ по ключу, я наивно реализовал это, просто перебирая все диктовки items().Который оказался немного вялым на несколько сотен тысяч звонков в секунду.Это примерно в 500 раз медленнее.

Так что моей следующей идеей было просто использовать сохранение и обратного диктанта.Однако это, кажется, довольно неэффективное решение, поэтому я обращаюсь к вам, ребята, за помощью.

Знаете ли вы какую-либо структуру данных в Python, которая хранит пары данных, к которым может обращаться любая точка данных пары?

1 Ответ

4 голосов
/ 23 мая 2011

Вы можете попробовать bidict .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...