用Python快速创建和访问哈希表的方法吗?

时间:2019-04-07 23:20:06

标签: python hashtable

我正在尝试用Python中的RHS操作代码实现LHS模式匹配 如何获得快速的哈希表匹配。 这在Python中可行吗? 我需要根据x,y,c快速匹配要素,其中x和y是坐标,c是2d数组的index(x,y)处的颜色。

2 个答案:

答案 0 :(得分:1)

哈希图是python中的dictionary

有几种创建字典的方法,这里是2:

d = dict(k=v)

d = {k:v}

获取键的值:

k = d.get("k")

k = d[k]

设置键的值:

d[k] = "ok"

注意:

  

在Python中,字典(简称“字典”)是中心数据   结构:

     

圆点存储任意数量的对象,每个对象由一个   唯一的字典键。字典通常也称为地图,   哈希表,查找表或关联数组。他们允许   高效地查找,插入和删除任何关联的对象   用给定的密钥。


资源:

  1. Dictionaries in Python

  2. Dictionaries, Maps, and Hash Tables in Python

答案 1 :(得分:0)

本机类型dict是一个哈希表,而不是哈希表,因此您只能将值赋给键。

不过,您可以使用(x, y)元组作为键来模拟哈希表:

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

之所以可行,是因为Python中的tuple类型是可哈希的,这意味着只要包装的值是可哈希的,它就可以将值转换为键。

否则,您可以扩展dict类型以提供其他方法,从而使您可以访问Java或C样式的2D数组中的值:

d[1][0] = True
d[1][1] = False