Python雜湊表


雜湊表(也叫雜湊表)是一種資料結構,其資料元素的地址或索引值由雜湊函式生成。 這使得存取資料的速度更快,因為索引值是資料值的關鍵字。 換句話說,雜湊表儲存鍵值對,但鍵是通過雜湊函式生成的。

因此,資料元素的搜尋和插入函式變得更快,因為鍵值本身成為儲存資料的陣列的索引。

在Python中,字典資料型別表示雜湊表的實現。字典中的鍵滿足以下要求。

  • 字典的鍵是可雜湊的,即通過雜湊函式生成該雜湊函式,該雜湊函式為提供給雜湊函式的每個唯一值生成唯一結果。
  • 字典中資料元素的順序不固定。

所以可通過使用下面的字典資料型別來看到雜湊表的實現。

在字典中存取值

要存取字典元素,可以使用熟悉的方括號 - [] 來獲取它的值。

# Declare a dictionary 
dict = {'Name': 'maxsu', 'Age': 27, 'Class': 'First'}

# Accessing the dictionary with its key
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

執行上面範例程式碼,得到以下結果 -

dict['Name']:  maxsu
dict['Age']:  27

更新字典元素

可以通過新增新條目或鍵值對,修改現有條目或刪除現有條目來更新字典,如簡單範例中所示 -

# Declare a dictionary
dict = {'Name': 'Maxsu', 'Age': 26, 'Class': 'First'}
dict['Age'] = 8; # update existing entry
dict['School'] = "第一中學"; # Add new entry
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])

執行上面範例程式碼,得到以下結果 -

dict['Age']:  8
dict['School']:  第一中學

刪除字典元素

可以刪除單個字典元素,也可以清除字典的全部內容。 也可以在一個操作中刪除整個字典。 要顯式刪除整個字典,只需使用del語句。 參考以下程式碼 -


dict = {'Name': 'Maxsu', 'Age': 26, '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語句之後,字典不再存在之後會引發異常。

Traceback (most recent call last):
  File "F:\worksp\pythonds\test.py", line 7, in <module>
    print ("dict['Age']: ", dict['Age'])
TypeError: 'type' object is not subscriptable