先預測輸出再按試跑。考試重點:① set() 去重、{} 是空字典;② 元素須可雜湊(不能放 list);③ 集合不能索引,用 for/in;④ discard 找不到不報錯、remove 丟 KeyError。(集合運算老師標不考)
experiment 01
去重,與 {} 空字典陷阱
set(串列) 去掉重複;{} 是空字典,空集合要 set()。
預測:重複的 Python/100 各剩一個;{} 是 dict
experiment 02
元素必須可雜湊
集合元素只能放不可變型別(數值/字串/元組);放 list 會 TypeError。
預測:元組 OK、list 報 unhashable
experiment 03
讀取:不能索引,用 for / in
集合無序,沒有 s[0];走訪用 for、判斷用 in、要序號先 list()。
預測:in 為 True、s[0] 報 not subscriptable
experiment 04
增加與刪除
add 是唯一新增;pop 隨機刪(不能指定序號)。
experiment 05
discard vs remove(找不到時)
discard 找不到不報錯;remove 找不到丟 KeyError。
預測:discard 安全、remove 報 KeyError
experiment 06
統計 len / max / min / sum
集合一樣能取數量、最大、最小、總和。
預測:4 / 400 / 100 / 1000