Python数据机构 哈希表
哈希表是一种数据结构,其中数据元素的地址或索引值是由哈希函数生成的。这使得访问数据的速度更快,因为索引值就像数据值的钥匙一样。换句话说,哈希表存储键值对,但键是通过散列函数生成的。
所以数据元素的搜索和插入功能变得更快,因为键值本身成为存储数据的数组的索引。
在 Python 中,Dictionary 数据类型代表了哈希表的实现。字典中的键满足以下要求。
- 字典中的键是可散列的,即由散列函数生成,该函数为提供给散列函数的每个唯一值生成唯一的结果。
-
字典中的数据元素的顺序是不固定的。
所以我们看到通过使用下面的字典数据类型来实现哈希表。
访问字典中的值
要访问字典中的元素,你可以使用熟悉的方括号和键一起获得它的值。
例子
# Declare a dictionary
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
# Accessing the dictionary with its key
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
输出
当上述代码被执行时,它产生了以下结果 –
dict['Name']: Zara
dict['Age']: 7
更新字典
你可以通过添加一个新的条目或键值对,修改一个现有的条目,或删除一个现有的条目来更新一个字典,如下图所示的简单例子。
例子
# Declare a dictionary
dict = {'Name': 'Zara', '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
删除字典元素
你可以删除单个的字典元素或清除整个字典的内容。你也可以在一次操作中删除整个 dictionary。要明确地删除整个 dictionary,只要使用 del 语句。
例子
dict = {'Name': 'Zara', '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之后,dictionary不存在了。
dict['Age']: dict['Age']
dict['School']: dict['School']