從零開始學 Python 之字典
前言
20180404
Python3 字典
字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值(key => value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括弧({})中,格式如下所示:
d=
鍵必須是唯一的,但值則不必。
值可以取任何數據類型,但鍵必須是不可變的,如字元串,數字或元組。
dict= {"Alice":"2341","Beth":"9102","Cecil":"3258"}
也可如此創建字典:
dict1= {"abc":456}
dict2= {"abc":123,98.6:37}
訪問字典里的值
把相應的鍵放入熟悉的方括弧,如下實例
dict = {"Name":"Koc","Age": 7,"Class":"First"}
print("dict["Name"]: ", dict["Name"])
print("dict["Age"]: ", dict["Age"])
以上實例輸出結果:
dict["Name"]: Koc
dict["Age"]: 7
如果用字典里沒有的鍵訪問數據,會輸出錯誤如下:
#!/usr/bin/python3
dict = {"Name":"Koc","Age": 7,"Class":"First"};
print("dict["Alice"]: ", dict["Alice"])
以上實例輸出結果:
Traceback (most recentcalllast):
File"test.py", line5,in
print ("dict["Alice"]: ", dict["Alice"])
KeyError:"Alice"
修改字典
向字典添加新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實例:
#!/usr/bin/python3
dict = {"Name":"Koc","Age": 7,"Class":"First"}
dict["Age"] = 8;# 更新 Age
dict["School"] ="從零教程"# 添加信息
print("dict["Age"]: ", dict["Age"])
print("dict["School"]: ", dict["School"])
以上實例輸出結果:
dict["Age"]: 8
dict["School"]: 從零教程
刪除字典元素
能刪單一的元素也能清空字典,清空只需一項操作。
顯示刪除一個字典用 del 命令,如下實例:
#!/usr/bin/python3
dict = {"Name":"Koc","Age":7,"Class":"First"}
deldict["Name"]# 刪除鍵 "Name"
dict.clear()# 清空字典
deldict# 刪除字典
print("dict["Age"]: ", dict["Age"])
print("dict["School"]: ", dict["School"])
但這會引發一個異常,因為用執行 del 操作後字典不再存在:
Traceback (most recentcalllast):
File"test.py", line9,in
print ("dict["Age"]: ", dict["Age"])
TypeError:"type"objectisnotsubscriptable
字典的特性
字典值可以是任何的 python 對象,既可以是標準的對象,也可以是用戶定義的,但鍵不行。
兩個重要的點需要記住:
1)不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,後一個值會被記住,如下實例:
#!/usr/bin/python3
dict = {"Name":"Koc","Age": 7,"Name":"小菜鳥"}
print("dict["Name"]: ", dict["Name"])
以上實例輸出結果:
dict["Name"]: 小菜鳥
2)鍵必須不可變,所以可以用數字,字元串或元組充當,而用列表就不行,如下實例:
#!/usr/bin/python3
dict = {["Name"]:"Koc","Age": 7}
print("dict["Name"]: ", dict["Name"])
以上實例輸出結果:
Traceback (most recentcalllast):
File"test.py", line3,in
dict = {["Name"]:"Koc","Age":7}
TypeError: unhashabletype:"list"
字典內置函數 & 方法
Python 字典包含了以下內置函數:
內置函數
Python 字典包含了以下內置方法:
內置方法
內置方法
寫在最後
至此「從零開始學習 Python 之字典」就已結束。給自己三分鐘的時間,閉上眼來回想下,今天這篇你都學習到了什麼。
如果你按我說的去做,你會發現你只能回憶起一些內容,很難把全部的知識都記住。這是非常正常的情況,所以需要你溫故而知新,時常回顧。歡迎大家去關注公眾號「痴海」,本系列教程會首發於公眾號。


※淺入深談:秒懂python編程中的if
※揭秘人工智慧和Python之間不可分割的關係
TAG:Python |