先預測輸出再按試跑。四個重點:① [鍵] 取不到會 KeyError、.get() 安全;② 用 .keys/.values/.items 列舉;③ = 別名 vs .copy() 獨立;④ 值→鍵要逐一比對。
experiment 01
取值:KeyError vs .get()
[鍵] 找不到鍵會中斷;.get(鍵, 預設) 安全。
預測:780 / 查無此書 / KeyError
experiment 02
增刪改與 setdefault
[鍵]=值 不存在新增、存在修改;setdefault 只在鍵不存在時新增。
預測:Java 仍 800、R語言 新增 300
experiment 03
列舉 keys / values / items
預設走訪鍵;.values() 走值、.items() 走 (鍵,值)。
experiment 04
別名 vs .copy()(招牌)
= 是別名(連動、is True);.copy() 才獨立。
預測:alias 有 Java、copied 沒有
字典是可變物件,= 只貼第二張名牌;要獨立用 .copy()。同 CH05 的物件參照觀念。
experiment 05
反向找鍵(值→鍵要逐一比對)
字典只能鍵→值;值→鍵沒有捷徑,用迴圈逐一比對。
experiment 06
合併 update 與巢狀值
update 合併、重複鍵以參數為準;值可以是字典(巢狀)。
預測:Java 變 780、巢狀取 520