06_字典集合与容器选择
掌握键值查找、去重、集合运算,以及四种常用容器的选型。
Python 基础专题 06:字典、集合与容器选择
学习目标:掌握键值查找、去重、集合运算,以及四种常用容器的选型。
核心知识
字典 dict 保存键值对,键必须可哈希,通常用字符串、数字或由可哈希元素构成的元组。data[key] 找不到会抛 KeyError;data.get(key, default) 会返回默认值。in 检查字典的键。遍历键和值用 items()。字典保持插入顺序,但业务排序仍应显式调用 sorted()。
scores = {"Ada": 90, "Lin": 85}
scores["Mo"] = 92
print(scores.get("Eva", 0))
for name, score in scores.items():
print(name, score)
集合 set 保存唯一元素,常用于去重和成员判断。a | b 是并集,a & b 是交集,a - b 是差集。集合元素也必须可哈希;空集合写 set(),因为 {} 是空字典。集合不承诺按插入顺序输出,展示时可用 sorted()。
选型口诀:需要按位置访问用 list;固定长度的值组合可用 tuple;按键查找用 dict;只关心唯一性或成员关系用 set。容器里的对象仍按引用共享:lookup = {"x": []} 后修改 lookup["x"] 会影响所有指向同一列表的地方。
逐步理解
字典的 get 适合提供默认值,但若零本身有业务意义,要用 key in data 区分“没有记录”和“记录为零”。集合去重后若需要稳定顺序,可 sorted(set(values));若需要保留首次出现顺序,可使用字典键的插入顺序。集合和字典的成员判断通常比反复扫描长列表更适合大量查找。
动手练习
练习:统计 "a b a c b a" 的单词次数。答案:先 split(),循环执行 counts[word] = counts.get(word, 0) + 1。