Python字典是一種非常有用的數(shù)據(jù)結構,它可以存儲鍵值對,也就是說,每個元素都有一個唯一的標識符(鍵)和一個相關聯(lián)的值。字典可以用來表示各種信息,比如人員名單、商品清單、詞匯表等。本文將介紹一下python字典的基本用法和常見操作。
創(chuàng)建字典
要創(chuàng)建一個空字典,可以使用花括號{},或者使用dict()函數(shù)。例如:
my_dict = {} # 空字典
my_dict = dict() # 空字典
要創(chuàng)建一個有初始元素的字典,可以在花括號中用冒號分隔鍵和值,或者使用dict()函數(shù)并傳入一個包含鍵值對的序列(比如列表、元組或集合)。例如:
my_dict = {"name": "Alice", "age": 20, "gender": "female"} # 有初始元素的字典
my_dict = dict([("name", "Alice"), ("age", 20), ("gender", "female")]) # 有初始元素的字典
訪問字典
要訪問字典中的某個元素,可以使用方括號[]并傳入對應的鍵。如果鍵不存在,會拋出KeyError異常。例如:
print(my_dict["name"]) # 輸出Alice
print(my_dict["height"]) # 拋出KeyError異常
要避免拋出異常,可以使用get()方法,它會返回指定鍵的值,如果鍵不存在,會返回None或者指定的默認值。例如:
print(my_dict.get("name")) # 輸出Alice
print(my_dict.get("height")) # 輸出None
print(my_dict.get("height", 160)) # 輸出160
修改字典
要修改字典中的某個元素,可以使用賦值語句,并傳入對應的鍵和新的值。如果鍵不存在,會添加一個新的鍵值對。例如:
my_dict["age"] = 21 # 修改age的值為21
my_dict["height"] = 160 # 添加一個新的鍵值對
要刪除字典中的某個元素,可以使用del語句,并傳入對應的鍵。如果鍵不存在,會拋出KeyError異常。例如:
del my_dict["gender"] # 刪除gender這個鍵值對
del my_dict["weight"] # 拋出KeyError異常
要清空字典中的所有元素,可以使用clear()方法。例如:
my_dict.clear() # 清空字典
遍歷字典
要遍歷字典中的所有鍵,可以使用keys()方法,它會返回一個包含所有鍵的視圖對象。視圖對象是一個動態(tài)的序列,它會隨著字典的變化而變化。要將視圖對象轉換為列表或其他類型的序列,可以使用list()或其他類型的構造函數(shù)。例如:
for key in my_dict.keys(): # 遍歷所有鍵
print(key)
keys_list = list(my_dict.keys()) # 將所有鍵轉換為列表
要遍歷字典中的所有值,可以使用values()方法,它會返回一個包含所有值的視圖對象。同樣地,要將視圖對象轉換為其他類型的序列,可以使用相應的構造函數(shù)。例如:
for value in my_dict.values(): # 遍歷所有值
print(value)
values_list = list(my_dict.values()) # 將所有值轉換為列表
要遍歷字典中的所有鍵值對,可以使用items()方法,它會返回一個包含所有鍵值對元組的視圖對象。同樣地,要將視圖對象轉換為其他類型的序列,可以使用相應的構造函數(shù)。例如:
for key, value in my_dict.items(): # 遍歷所有鍵值對
print(key, value)
items_list = list(my_dict.items()) # 將所有鍵值對轉換為列表
字典的常用方法
除了上面介紹的方法,字典還有一些常用的方法,如下:
- copy():返回字典的一個淺拷貝,即只復制字典本身,不復制字典中的元素。
- pop(key, default):刪除并返回指定鍵的值,如果鍵不存在,返回默認值,如果沒有指定默認值,拋出KeyError異常。
- popitem():刪除并返回字典中的任意一個鍵值對,如果字典為空,拋出KeyError異常。
- setdefault(key, default):返回指定鍵的值,如果鍵不存在,添加一個新的鍵值對,并將默認值作為值。
- update(other):將另一個字典或可迭代對象中的鍵值對添加到字典中,如果有重復的鍵,覆蓋原來的值。
總結
本文介紹了python字典的基本用法和常見操作,希望對你有所幫助。
python相關課程推薦:python相關課程