Python中的哈希表和哈希图:它们是什么以及如何实现?

网友投稿 608 2022-05-30

数据需要多种存储和访问数据的方式。最重要的实现之一包括哈希表。在Python中,这些哈希表是通过内置数据类型即dictionary实现的。在本文中,您将学习什么是Python中的哈希表和哈希图,以及如何使用字典来实现它们。

在继续之前,让我们看一下所有讨论的主题:

什么是Python中的哈希表或哈希图?

哈希表与哈希图

创建字典

创建嵌套词典

使用字典在哈希表上执行操作

访问值

更新值

删除项目

将字典转换为数据框

什么是Python中的哈希表或哈希图?

在计算机科学中,哈希表或哈希图是一种将键映射到其值对(实现抽象数组数据类型)的数据结构。它基本上利用了计算索引值的函数,该索引值又包含要搜索,插入,删除的元素等。这使得访问数据变得容易且快速。通常,哈希表存储键值对,并且使用哈希函数生成键。

哈希表或具有Python的映射是通过内置的字典数据类型实现的。Python中字典的键由哈希函数生成。字典中的元素没有顺序,可以更改。

词典的示例可以是员工姓名及其员工ID或学生姓名及其学生ID的映射。

继续前进,让我们看看Python中的哈希表和哈希图之间的区别。

哈希表与哈希图:哈希表与Python中的哈希图之间的区别

Synchronized

Non-Synchronized

Fast

Slow

Allows one null key and more than one null values

Does not allows null keys or values

创建字典:

字典可以通过两种方式创建:

使用花括号({})

使用dict() 函数

使用花括号:

可以使用花括号在Python中创建字典,如下所示:

例子:

my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'} print(my_dict) type(my_dict)

输出:

{'Dave':'001','Ava':'002','Joe':'003'} dict

使用dict()函数:

Python具有内置函数dict(),可用于在Python中创建字典。例如:

例子:

new_dict=dict() print(new_dict) type(new_dict)

输出:

{}

字典

Python中的哈希表和哈希图:它们是什么以及如何实现?

在上面的示例中,由于没有将键值对作为参数提供给dict()函数,因此创建了一个空字典。如果要添加值,可以执行以下操作:

例子:

new_dict=dict(Dave = '001' , Ava= '002' , Joe= '003') print(new_dict) type(new_dict)

输出:

{'Dave':'001','Ava':'002','Joe':'003'} dict

创建嵌套词典:

嵌套字典基本上是位于其他字典中的字典。例如:

例子:

emp_details = {'Employee': {'Dave': {'ID': '001', 'Salary': 2000, 'Designation':'Python Developer'}, 'Ava': {'ID':'002', 'Salary': 2300, 'Designation': 'Java Developer'}, 'Joe': {'ID': '003', 'Salary': 1843, 'Designation': 'Hadoop Developer'}}}

使用字典对哈希表执行操作:

通过字典,可以对Python的has表执行许多操作,例如:

访问值

更新值

删除元素

访问值:

字典的值可以通过多种方式访问 ,例如:

使用键值

使用功能

实现for循环

可以使用以下键值来访问字典值:

例子:

my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'} my_dict['Dave']

输出:' 001'

有许多内置函数可以使用,例如get(),keys(),values()等。

例子:

my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'} print(my_dict.keys()) print(my_dict.values()) print(my_dict.get('Dave'))

输出:

dict_keys(['Dave','Ava','Joe']) dict_values(['001','002','003']) 001

通过for循环,您可以通过迭代字典的键/值对轻松地对其进行访问。例如:

my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'} print("All keys") for x in my_dict: print(x) #prints the keys print("All values") for x in my_dict.values(): print(x) #prints values print("All keys and values") for x,y in my_dict.items(): print(x, ":" , y) #prints keys and values

输出:

所有按键

戴夫·

阿瓦

的所有值

001

002

003

所有键和值

戴夫:001

原产地:002

乔:003

更新值:

词典是可变的数据类型,因此,您可以根据需要更新它们。例如,如果我想将名为Dave的员工的ID从'001'更改为'004',并且如果我想在字典中添加另一个键值对,则可以执行以下操作:

例子:

my_dict={'Dave' : '001' , 'Ava': '002' , 'Joe': '003'} my_dict['Dave'] = '004' #Updating the value of Dave my_dict['Chris'] = '005' #adding a key-value pair print(my_dict)

输出:

{'Dave':'004','Ava':'002','Joe':'003','Chris':'005'}

从字典中删除项目:

有许多功能可让您从字典中删除项目,例如del(),pop(),popitem(),clear()等。例如:

例子:

my_dict={'Dave': '004', 'Ava': '002', 'Joe': '003', 'Chris': '005'} del my_dict['Dave'] #removes key-value pair of 'Dave' my_dict.pop('Ava') #removes the value of 'Ava' my_dict.popitem() #removes the last inserted item print(my_dict)

输出:

{'Joe':'003'}

上面的输出显示使用各种功能从字典中删除了除“ Joe:003”以外的所有元素。

将Dictionary转换为数据框:

如您先前所见,我创建了一个嵌套的字典,其中包含员工姓名及其映射的详细信息。现在,为了使表更清晰,我将使用pandas库,以便将所有内容都放置为数据框。

例子:

import pandas as pd emp_details = {'Employee': {'Dave': {'ID': '001', 'Salary': 2000, 'Designation':'Python Developer'}, 'Ava': {'ID':'002', 'Salary': 2300, 'Designation': 'Java Developer'}, 'Joe': {'ID': '003', 'Salary': 1843, 'Designation': 'Hadoop Developer'}}} df=pd.DataFrame(emp_details['Employee']) print(df)

输出:

我希望您对本教程中与您共享的所有内容一清二楚。这使我们结束了关于Python中的哈希表和Haspmaps的文章的结尾。 确保尽可能多地练习并恢复经验。

Python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:早吗?据说第一批90后已经开始考虑养老了
下一篇:Lua 数据类型(二)
相关文章