字典是使用名稱(鍵)與實體(值)進行一一對應的資料儲存機制。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 | 被刪除的值value | dict1 = {"name":"Tom","age":11} v = dict1.pop("name") |
popitem()關鍵詞:刪除 | 從字典中刪除指定鍵key對應的鍵值對,如果鍵key不存在將報錯 | key:要刪除的鍵值對對應的鍵key | 被刪除的鍵值對,以元組的形式返回 | dict1 = {"name":"Tom","age":11} v = dict1.popitem() |
clear()關鍵詞:清空 | 清空字典中的資料 | 無 | None | dict1 = {"name":"Tom","age":11} dict1.clear() |
setdefault(key,value)關鍵詞:檢測新增 | 新增新的鍵值對,如果存在對應的鍵,則忽略該操作 | key:要新增的新鍵值對對應的鍵keyvalue: 要新增的新鍵值對對應的值value | 字典中key對應的值,如果是新增則返回引數value,如果不是新增,返回原始key對應的value | dict1 = {"name":"Tom","age":11} dict1.setdefault("age",22) |
update(dict)關鍵詞:更新資料 | 使用新字典中的資料對原始字典資料進行更新 | dict:新字典物件 | None | dict1 = {"name":"Tom","age":11} dict2 = {"address":"北京","age":22} dict1.update(dict2) |
get(key)關鍵詞:獲取 | 根據鍵key查詢字典中對應的值,如果鍵key不存在將返回None | key:要查詢的鍵key | 根據鍵key在字典中查詢的值value | dict1 = {"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.字典的作用
當需要儲存少量資料,並且期望在程式設計期以最快的速度獲取單個資料,推薦選擇字典。
當需要使用非物件格式儲存單個物件的屬性值,推薦選擇字典。