Любой быстрый способ в Python для создания и доступа к хеш-таблице? - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь реализовать сопоставление с образцом LHS с кодом действия RHS в Python. Как получить быстрое совпадение с хэш-таблицей.Возможно ли это в Python?Мне нужно быстро сопоставить объекты с точки зрения x, y, c, где x и y - координаты, а c - цвет по индексу (x, y) 2d массива.

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

hashmap - это словарь в python.

Существует несколько способов создания словарей, вот 2:

d = dict(k=v)

или

d = {k:v}

К получить значение ключа:

k = d.get("k")

или

k = d[k]

К установить значение ключа:

d[k] = "ok"

Примечания:

В Python словари (или сокращенно «dicts») являются центральными данными Структура:

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


Ресурсы:

  1. Словари на Python

  2. Словари, карты и хэш-таблицы в Python

0 голосов
/ 08 апреля 2019

Собственный тип dict является хеш-картой, а не хеш-таблицей, поэтому вы можете использовать только значения ключа.

Однако вы можете смоделировать хеш-таблицу, используя (x, y) кортежи в качестве ключей:

d = {}
d[(1,0)] = True
d[(1,1)] = False

Это работает, потому что тип tuple в Python является хэшируемым, а это означает, что до тех пор, пока значения, которые он переносит, являются хэшируемыми, он может преобразовывать значение в ключ.

В противном случае вы можете расширить тип dict, чтобы предоставить дополнительные методы, позволяющие получать доступ к значениям в двумерном массиве в стиле Java или C:

d[1][0] = True
d[1][1] = False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...