Python中的哈希表和哈希圖:它們是什么以及如何實現?
數據需要多種存儲和訪問數據的方式。最重要的實現之一包括哈希表。在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)
輸出:
{}
字典
在上面的示例中,由于沒有將鍵值對作為參數提供給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小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。