Python - 数据结构之哈希表
-
简述
哈希表是一种数据结构,其中数据元素的地址或索引值是从哈希函数生成的。这使得访问数据的速度更快,因为索引值充当数据值的键。换句话说,哈希表存储键值对,但键是通过哈希函数生成的。因此,随着键值本身成为存储数据的数组的索引,数据元素的搜索和插入功能变得更快。在 Python 中,Dictionary 数据类型表示哈希表的实现。字典中的键满足以下要求。-
字典的键是可散列的,即由散列函数生成,散列函数为提供给散列函数的每个唯一值生成唯一结果。
-
字典中数据元素的顺序是不固定的。
因此,我们通过使用字典数据类型来查看哈希表的实现,如下所示。 -
-
访问字典中的值
要访问字典元素,您可以使用熟悉的方括号和键来获取其值。例子
# Declare a dictionary dict = {'Name': 'Alex', 'Age': 7, 'Class': 'First'} # Accessing the dictionary with its key print "dict['Name']: ", dict['Name'] print "dict['Age']: ", dict['Age']
输出
执行上述代码时,会产生以下结果 -dict['Name']: Alex dict['Age']: 7
-
更新字典
您可以通过添加新条目或键值对、修改现有条目或删除现有条目来更新字典,如下简单示例所示 -例子
# Declare a dictionary dict = {'Name': 'Alex', 'Age': 7, 'Class': 'First'} dict['Age'] = 8; # update existing entry dict['School'] = "DPS School"; # Add new entry print "dict['Age']: ", dict['Age'] print "dict['School']: ", dict['School']
输出
执行上述代码时,会产生以下结果 -dict['Age']: 8 dict['School']: DPS School
-
删除字典元素
您可以删除单个字典元素或清除字典的全部内容。您还可以在单个操作中删除整个字典。要显式删除整个字典,只需使用 del 语句。例子
dict = {'Name': 'Alex', 'Age': 7, 'Class': 'First'} del dict['Name']; # remove entry with key 'Name' dict.clear(); # remove all entries in dict del dict ; # delete entire dictionary print "dict['Age']: ", dict['Age'] print "dict['School']: ", dict['School']
输出
这会产生以下结果。请注意,会引发异常,因为在 del dict 字典不再存在之后。dict['Age']: Traceback (most recent call last): File "test.py", line 8, in <module> print "dict['Age']: ", dict['Age']; TypeError: 'type' object is unsubscriptable