dict



dictdictionary(字典) 的縮寫,同樣是資料的集合,由 大括號 {} 包住,資料間以 逗號( , ) 分隔,dict 內的資料可以是任意型態,再加上每個元素需有個名字,稱為「鍵(key)」,元素本身稱為「值(value)」。

dict 的格式如下:
 
Dict1 = {'name':'John', 'Height':170, 'Sex':'male', 'age':30}
 


dict 的應用:
 
Dict1 = {'name':'John', 'Height':170, 'Weight':62, 'Sex':'male', 'age':30}

print(Dict1)
# 會顯示:{'name': 'John', 'Height': 170, 'Weight': 62, 'Sex': 'male', 'age': 30}




# 顯示 Dict1 的元素個數
print('Dict1 的元素個數:', len(Dict1))
# 會顯示:5




# 列出 Dict1 的全部 key
print(Dict1.keys())
# 會顯示:dict_keys(['name', 'Height', 'Weight', 'Sex', 'age'])




# 列出 Dict1 的全部 value
print(Dict1.values())
# 會顯示:dict_values(['John', 170, 62, 'male', 30])




# 顯示 Dict1 的 key 為 'age' 的元素的值
# 注意 key 名的大小寫有分別
print(Dict1['age'])
# 會顯示:30




# 在 dict 最末新增一個元素
Dict1['blood'] = 'A'
print(Dict1)
# 會顯示:{'name': 'John', 'Height': 170, 'Weight': 62, 'Sex': 'male', 'age': 30, 'blood': 'A'}




# 變更元素的值
Dict1['Weight'] = 66
print(Dict1)
# 會顯示:{'name': 'John', 'Height': 170, 'Weight': 66, 'Sex': 'male', 'age': 30, 'blood': 'A'}




# 若有 hair 這個 key, 則更新 hair 的值
# 若沒有 hair 這個 key, 則在最末新增 hair:'brown'
# 注意:hair 沒有 引號
Dict1.update(hair = 'brown')
print(Dict1)
# 會顯示:{'name': 'John', 'Height': 170, 'Weight': 66, 'Sex': 'male', 'age': 30, 'blood': 'A'}




# 一次 更新 或 新增 多個元素
Dict1.update([('name','Tom'),('birthday','1967-9-1')])
print(Dict1)
# 會顯示:{'name': 'Tom', 'Height': 170, 'Weight': 66, 'Sex': 'male', 'age': 30, 'blood': 'A', 'hair': 'brown', 'birthday': '1967-9-1'}




# 查詢 key 是否在 dict 內
print('name' in Dict1)
# 會顯示:True




# 若 key 在 dict 內, 傳回 value
print(Dict1.get('Height'))
# 會顯示:True




# 若 key 不在 dict 內, 會傳回 None, 一種特殊的資料型別, 表示不存在
print(Dict1.get('skin'))
# 會顯示:None




# 若 key 不在 dict 內, 會傳回 black
print(Dict1.get('eye', 'black'))
# 會顯示:black




# 自 Dict1 取出 blood, 並存入 Dict2
# 若沒有 Dict2, 則可視為移除
Dict2 = Dict1.pop('blood')
print('Dict2 =', Dict2)
# 會顯示:A
print('Dict1 =', Dict1)    # 取出後 Dict 就沒有 blood 這個元素了
# 會顯示:{'name': 'Tom', 'Height': 170, 'Weight': 66, 'Sex': 'male', 'age': 30, 'hair': 'brown', 'birthday': '1967-9-1'}




# 將 Dict1 的內容複製給 Dict3
Dict3 = Dict1.copy()
print(Dict3)
# 會顯示:{'name': 'Tom', 'Height': 170, 'Weight': 66, 'Sex': 'male', 'age': 30, 'hair': 'brown', 'birthday': '1967-9-1'}




# 清除 Dict1
Dict1.clear()
print(Dict1)
# 會顯示:{}




# 刪除 Dict1, 從此不存在
del Dict1
print(Dict1)    # 會出現錯誤訊息
 






⇑ 目錄 ⇑