Python 入门
字典
掌握字典的键值对存储和常用操作
- 创建字典
- 按键存取数据
- 字典常用方法和遍历
创建字典
字典用花括号 {},存储 键:值 对。通过键快速查找值:
示例代码(可运行)
Python 0%
增删改查
示例代码(可运行)
Python 0%
安全取值 get()
示例代码(可运行)
Python 0%
💡用 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()。
遍历字典
示例代码(可运行)
Python 0%
预测输出
d = {"a": 1, "b": 2}
print(d.get("c", 0))
print("a" in d)找 Bug直接用 [] 访问不存在的键会报 KeyError。用 get() 方法就行。
scores = {"小明": 90}
print(scores["小红"])
填空题填写空白处的代码
d = {"a": 1}
print(d.("b", 0)) # 安全取值
选择题
{"a":1}["b"] 会怎样?
选择题
想判断字典 d 里是否存在键 name,正确写法是?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
print 把对象交给 sys.stdout 写出,显示时默认调用对象的 __str__;在交互环境直接回显变量走的是 __repr__(更偏「给开发者看的表示」)。sep 改分隔符、end 改结尾、file 可重定向到文件。面试常追问:生产环境为什么用 logging 而不是 print?因为日志有级别、能落盘、可结构化、可统一关闭,print 只适合临时调试。
挑战任务
成绩字典
简单+50 XP
创建3个同学成绩字典,遍历输出每人名字和成绩。
成绩字典
Python 0%
2 个测试用例
课后作业
电话簿
中等+20 XP
创建电话簿字典,按姓名查电话。
电话簿
Python 0%
1 个测试用例