Python中字典使用詳解

Simon_Zhou發表於2019-04-02

字典是使用名稱(鍵)與實體(值)進行一一對應的資料儲存機制。Python字典是一種可變容器模型,且可儲存任意型別物件,如字串、數字、元組等其他容器模型。

1.建立字典

字典由鍵和對應值成對組成。字典也被稱作關聯陣列或雜湊表。基本語法如下:

dict = {'Alice': '25', 'Beth': '24', 'Cecil': '27'}複製程式碼


2.訪問字典中的值

dict = {'Name': '張三', 'Age': 17, 'Class': '高三一班'};​print("dict['Name']:%s "% dict['Name'])print("dict['Age']:%s "% dict['Age'])#以上例項輸出結果:# dict['Name']:張三# dict['Age']:17複製程式碼

如果用字典裡沒有的鍵訪問資料,會輸出KeyError錯誤如下:

print("dict['Age']:%s "% dict['gender'])#     print("dict['Age']:%s "% dict['gender'])#     KeyError: 'gender'複製程式碼

3.修改字典

向字典新增新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下例項:

dict['gender'] = '男' # 增加鍵值對dict['Age'] = 18 # 修改鍵值對,原先的值會被替換​複製程式碼

4.刪除字典元素

字典中刪單一元素呼叫pop('key')方法,清空字典呼叫clear()函式。

dict.pop('class') # 刪除classdict.clear() # 清空字典複製程式碼

5.字典鍵的特性

字典值可以沒有限制地取任何python物件,既可以是標準的物件,也可以是使用者定義的,但鍵不行。

  • 不允許同一個鍵出現兩次。建立時如果同一個鍵被賦值兩次,後一個值會被記住。

  • 鍵必須不可變,所以可以用數,字串或元組充當,所以用列表就不行,但一般開發都用字串充當鍵。

6.字典內建函式&方法

下面是對字典中一些內建方法進行的一些彙總:

方法名功能引數返回值範例
pop(key)關鍵詞:刪除獲取從字典中刪除指定鍵key對應的鍵值對,如果鍵key不存在將報錯key:要刪除的值value對應的鍵key被刪除的值valuedict1 = {"name":"Tom","age":11} v = dict1.pop("name")
popitem()關鍵詞:刪除從字典中刪除指定鍵key對應的鍵值對,如果鍵key不存在將報錯key:要刪除的鍵值對對應的鍵key被刪除的鍵值對,以元組的形式返回dict1 = {"name":"Tom","age":11} v = dict1.popitem()
clear()關鍵詞:清空清空字典中的資料Nonedict1 = {"name":"Tom","age":11} dict1.clear()
setdefault(key,value)關鍵詞:檢測新增新增新的鍵值對,如果存在對應的鍵,則忽略該操作key:要新增的新鍵值對對應的鍵keyvalue: 要新增的新鍵值對對應的值value字典中key對應的值,如果是新增則返回引數value,如果不是新增,返回原始key對應的valuedict1 = {"name":"Tom","age":11} dict1.setdefault("age",22)
update(dict)關鍵詞:更新資料使用新字典中的資料對原始字典資料進行更新dict:新字典物件Nonedict1 = {"name":"Tom","age":11} dict2 = {"address":"北京","age":22} dict1.update(dict2)
get(key)關鍵詞:獲取根據鍵key查詢字典中對應的值,如果鍵key不存在將返回Nonekey:要查詢的鍵key根據鍵key在字典中查詢的值valuedict1 = {"name":"Tom","age":11} v = dict1.get("age")
keys()關鍵詞:獲取鍵列表獲取字典中所有的鍵key組成的列表資料由所有鍵組成的列表dict1 = {"name":"Tom","age":11} dict1.keys()
values()關鍵詞:獲取值列表獲取字典中所有的值value組成的列表資料由所有值組成的列表dict1 = {"name":"Tom","age":11} dict1.values()
items()關鍵詞:獲取鍵值對列表 獲取字典中所有的鍵值對列表資料由鍵值對組成的列表,鍵值對的格式是元組資料dict1 = {"name":"Tom","age":11} dict1.items()

7.字典的作用

  1. 當需要儲存少量資料,並且期望在程式設計期以最快的速度獲取單個資料,推薦選擇字典。

  2. 當需要使用非物件格式儲存單個物件的屬性值,推薦選擇字典。


相關文章