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

分类: 计算机技术
推荐阅读:
TypeError: __format__ must return a str, not NoneType 在 Python 中,如__format__()方法必须返回一个字符串,否则将触发类似TypeError: __format__ must return a str, not NoneType的错误;
Golang中结构体方法的定义和使用 本文将详细的描述在Go语言中如何定义方法,以及如何使用它;阅读本文可能需要一点Go语言基础以及结构体的知识;
如何隐藏WordPress后台地址,保护好你的菊花 默认情况下,Wordpress 的默认后台地址为:http://yourdomain.com/wp-login.php,黑客可以通过这个页面进行暴力穷尽破解,直到破解出你的密码。不论你的密码强度如何,这紧会浪费服务器资源,且网站也会留下安全隐患。
Golang实现base64加密解密 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。
MySQL ADDDATE() 函数 ADDDATE()函数用于将一个时间值增加到一个日期当中;通俗的讲,就是可以通过这个函数将一个日期增加多少天;
PySide6模块的导入和使用 Qt拥有众多的模块帮助你构建应用程序,例如QtCore,QtGui,QtNetwork,QtOpenGL,QtQuick,QtQml,QtWidgets等等;本文将讲解PySide6常用模块的功能以及在Python中的导入和使用方法;