20 分钟
Python 进阶

字典深入

字典的高级操作和常用方法

  • 字典推导式和常用方法
  • setdefault 和 get
  • 遍历字典的多种方式

字典遍历

示例代码(可运行)

get 和 setdefault

示例代码(可运行)

字典推导式

示例代码(可运行)
预测输出
d = {"x": 10}
print(d.get("y", 0))
print(d.get("x", 0))
找 Bugd['fruits'] 不存在会 KeyError。
d = {} d["fruits"].append("apple")
填空题填写空白处的代码
d = {"a":1,"b":2} for k, v d.items(): print(k, v)
选择题

d.get('missing', 'N/A') 返回?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

内层函数(或 lambda)捕获的是外层变量本身,而不是定义那一刻的值;循环里定义的多个函数,循环结束后调用往往都拿到最后的值。解决办法是用默认参数 f(x=x) 立即绑定,或用工厂函数包一层。配合 LEGB 作用域顺序(局部→外层→全局→内建)理解,90% 的作用域谜题都能解开。

挑战任务

字典挑战

简单+50 XP

统计字符串中每个单词出现次数。

字典挑战
2 个测试用例

课后作业

成绩分组

中等+20 XP

将学生按成绩分为及格/不及格两组。

成绩分组
1 个测试用例