{} 或 dict() 建立{key1:value1, key2:value2, ..}
{} 為 False
dict.keys():取得所有的 keydict.values():取得所有的 valuedict.items():取得所有的 (key:value) 的 tuplelist(dict.keys()) 取得所有 key 並轉成 list,或是使用 for 迴圈dict[key]:無此 key 時會跳錯,若給值 dict[key] = value 則新增此 key:valuedict.get(key, None):無此 key 時會跳出第 2 個參數的值,預設為 None
dict.setdefault(key, None):無此 key 時會跳出第 2 個參數的值,預設為 None,並且新增此 key:valuedict.setdefault(key,default_value) 等同 dict[key] = dict.get(key,default_value)
x = {
"key1":"value2"
}
x.get("key2")
# None
x
# {'key1': 'value2'}
x.setdefault("key3", 3)
# 3
x
# {'key1': 'value2', 'key3': 3}
update():將另一個 dict 更新到原本的 dict,同 key 的話,value 會被新的蓋過,不同 key 的話則新增copy():淺層 copy,深層 copy 請參考 list 淺拷貝(shallow)與深拷貝(deep)
將目前談過的幾個類型作一個比較表
| 項目 | 順序 | 變動 |
|---|---|---|
| list | 有序 | 可變 |
| tuple | 有序 | 不可變 |
| string | 有序 | 不可變 |
| set | 無序 | 可變 |
| dict | 註 1 | 可變 |
註 1:dict 在 3.7 開始有照著建立順序,但是查詢還是靠 key 來進行
來聊聊流程控制吧!