字典
掌握字典的键值对存储和常用操作
- 创建字典
- 按键存取数据
- 字典常用方法和遍历
创建字典
字典用花括号 {},存储 键:值 对。通过键快速查找值:
增删改查
安全取值 get()
不确定键是否存在时,用 d.get(key, 默认值),不要用 d[key]。
选对数据结构,代码就成功了一半。经验法则:需要顺序存储用 list,需要唯一值用 set,需要键值对用 dict,需要不可变序列用 tuple。字典的查找速度是 O(1),列表查找是 O(n)——当数据量大时,这个差异是天壤之别。写 for item in big_list: if item.id == target: 这种代码,就应该考虑换成字典。Python 3.7+ 字典保持插入顺序,但不要依赖这个特性做排序——用 OrderedDict 或 sorted()。
遍历字典
d = {"a": 1, "b": 2}
print(d.get("c", 0))
print("a" in d){"a":1}["b"] 会怎样?
想判断字典 d 里是否存在键 name,正确写法是?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
print 把对象交给 sys.stdout 写出,显示时默认调用对象的 __str__;在交互环境直接回显变量走的是 __repr__(更偏「给开发者看的表示」)。sep 改分隔符、end 改结尾、file 可重定向到文件。面试常追问:生产环境为什么用 logging 而不是 print?因为日志有级别、能落盘、可结构化、可统一关闭,print 只适合临时调试。
挑战任务
成绩字典
创建3个同学成绩字典,遍历输出每人名字和成绩。
课后作业
电话簿
创建电话簿字典,按姓名查电话。