Python 实现哈希表

哈希表是一种数据结构,其中数据元素的地址或索引值是从哈希函数生成的。

由于索引值充当数据值的键,因此可以更快地访问数据。 换句话说,哈希表存储键值对,但是键是通过哈希函数生成的。

因此,随着键值本身成为存储数据的数组的索引,数据元素的搜索和插入功能变得更快。

在Python中,Dictionary数据类型就是哈希表的实现。 字典中的键满足以下要求:

  • 字典的键是可哈希的,即由哈希函数生成,哈希函数为每个唯一值生成唯一结果。
  • 字典中数据元素的顺序不固定。

因此,我们通过使用以下字典数据类型来看到哈希表的实现。

在字典中访问值

要访问字典元素,您可以使用熟悉的方括号和键来获取其值。

dict = {'Name': 'Zara',
		'Age': 7,
		'Class': 'First'}
 
print("dict['Name']: ", dict['Name'])
print("dict['Age']: ", dict['Age'])

执行上面的代码时,将打印:

dict['Name']: Zara
dict['Age']: 7

更新字典

您可以通过添加新条目或键值对,修改现有条目或删除现有条目来更新字典,如下面的简单示例所示:

dict = {'Name': 'Zara',
		'Age': 7,
		'Class': 'First'}
		
dict['Age'] = 8 # 更新已存在的
dict['School'] = "DPS School" #添加新的
 
print("dict['Age']:",dict['Age'])
print("dict['School']:",dict['School'])

运行上面的代码,将打印:

dict = {'Name': 'Zara',
		'Age': 7,
		'Class': 'First'}
 
print("dict['Name']: ", dict['Name'])
print("dict['Age']: ", dict['Age'])

执行上面的代码时,将打印:

dict['Age']: 8
dict['School']: DPS School

删除字典元素

您可以删除单个字典元素,也可以清除字典的全部内容。 您也可以通过单个操作删除整个字典。 要删除整个字典,只需使用del语句:

dict = {'Name': 'Zara',
		'Age': 7,
		'Class': 'First'}
del dict['Name'] #移除元素
dict.clear() #移除所有元素
del dict #删除字典
 
print("dict['Age']:",dict['Age'])
print("dict['School']:",dict['School'])

执行上述代码将引发异常;因为dict已被删除。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/1373.html

分类: 计算机技术
推荐阅读:
Python里with语句的用法与技巧 本文将详细讲解Python语言中with语句的用法,以及如何让自定义的类也支持with语句;
Windows10查看WiFi密码 要在Windows10上查看当前所使用的WiFi密码,只需要依次打开【控制面板】【网络和Internet】【查看网络状态和任务】【点击当前WiFi属性】【无线属性】【安全】,选中显示字符即可查看;
xxxx is not in the sudoers file. This incident will be reported. 解决方法 使用sudo命令时出现xxxx is not in the sudoers file. This incident will be reported. 这里的xxxx是你的用户名;出现这个提示通常是用户名没有写入到sudoers文件中;
Python实现双向链表 在本文中,我们将看到另一种类型的链表,可以向前和向后移动;这样的链接列表称为双重链接列表(双向链表)。
Python 列表去重的几种方法 列表去重是指通过消除重复的元素,将列表中的所有唯一元素保留下来的操作;在Python中,存在多种方法删除列表中重复的元素,下面是一些常用的方法;
Kali国内源 Kali是一个开源的、基于Debian的Linux发行版,旨在进行高级渗透测试和安全审计;Kali 包含数百个针对各种信息安全任务的工具,例如渗透测试、安全研究、计算机取证和逆向工程。