python 字典

tags: python 字典 資料結構 Rduan

作者:Rduan

甚麼是字典

字典就像是一個小型的資料庫,採用(鍵-值)對應的方式來儲存資料,在Python中,字典是一種無序的數據結構,字典由一對大括號括起來,其中每個鍵值對之間用逗號分隔,鍵和值之間用冒號分隔。與[[陣列]]不同之處在於,陣列是一種有順序的結構,但是每一筆資料並沒有一個鍵(索引標籤)來進行搜尋。


為什麼要學習字典

學習Python字典非常重要,因為字典是Python中非常強大且廣泛使用的數據結構之一,可以用來儲存和操作一組相關聯的數據。

以下是學習Python字典的一些原因:

  1. 字典提供了一個快速和高效的方法來查找和訪問數據,尤其是對於大型數據集的查找和操作。

  2. 字典可以用來表示現實世界中的許多實體,例如購物車、學生信息、聯繫人等。

  3. 字典允許存儲鍵值對,其中每個鍵都是唯一的,這使得它們非常適合用於查找和映射操作。

  4. Python中的字典支持各種內置函數和方法,可以用來添加、刪除、更新、合併和排序字典中的元素,以及遍歷字典中的所有鍵值對。

  5. Python中的字典還支持嵌套,可以使用字典嵌套其他字典或列表,這樣就可以構建更複雜和更靈活的數據結構。


Overview

  • 建立Dictionary的方法
  • 存取Dictionary元素的方法
  • 新增Dictionary元素的方法
  • 修改Dictionary元素的方法
  • 刪除Dictionary元素的方法
  • 尋找Dictionary元素的方法

新增字典的方法

dict_1 = {'apple':123,'orange':456,'banana':789}
dict_2 = dict(apple=123,orange=456) #資料型態為dict

如何讀取字典的元素

print(dict_1) #列印出整個字典
print(dict_1["apple"]) #印出apple後面的值 Ex=123

#透過迴圈的方式來讀取字典
for i in dict_1:
	print(i) # i 被指定成鍵值
	print(dict_1[i]) # 用次方法可以訪問每一個元素

新增元素於字典的方法

dict_1['papaya']=789 # 新增papaya=789於字典中
print(dict_1) #會有原先的字典加上papaya=789

#使用update()的方法
dict_1.update(dict_1(guava=100))

刪除字典特定元素

dict_1.pop('papya')
print(dict_1)

尋找字典指定值

# 使用 dict.get() 回傳指定 key 的值,如果 key 不存在,回傳指定的值
print(my_dict.get('pear', 0))  # 0
# 使用 dict.items() 回傳包含所有 (key, value) 項目的列表
print(my_dict.items())         # [('apple', 2), ('banana', 3), ('orange', 4)]
# 使用 dict.keys() 回傳包含所有 key 的列表
print(my_dict.keys())          # ['apple', 'banana', 'orange']
# 使用 dict.values() 回傳包含所有 value 的列表
print(my_dict.values())        # [2, 3, 4]

常用函數集合

# 創建一個字典
my_dict = {'apple': 2, 'banana': 3, 'orange': 4}

# 使用 dict.get() 返回指定 key 的值,如果 key 不存在,返回 None
print(my_dict.get('apple'))    # 2
print(my_dict.get('pear'))     # None

# 使用 dict.get() 返回指定 key 的值,如果 key 不存在,返回指定的值
print(my_dict.get('pear', 0))  # 0

# 使用 dict.items() 返回包含所有 (key, value) 項目的列表
print(my_dict.items())         # [('apple', 2), ('banana', 3), ('orange', 4)]

# 使用 dict.keys() 返回包含所有 key 的列表
print(my_dict.keys())          # ['apple', 'banana', 'orange']

# 使用 dict.values() 返回包含所有 value 的列表
print(my_dict.values())        # [2, 3, 4]

# 使用 dict.pop() 刪除並返回指定 key 的值
print(my_dict.pop('banana'))   # 3
print(my_dict)                 # {'apple': 2, 'orange': 4}

# 使用 dict.pop() 刪除一個不存在的 key 並返回指定的值
print(my_dict.pop('banana', 0))# 0

# 使用 dict.popitem() 隨機返回並刪除一個 (key, value) 項目
print(my_dict.popitem())       # ('orange', 4)

# 使用 dict.update() 添加另一個字典的 key-value 項目
other_dict = {'pear': 5, 'grape': 6}
my_dict.update(other_dict)
print(my_dict)                 # {'apple': 2, 'pear': 5, 'grape': 6}