本答案页包含 Python 嵌套数据 的 4 道选择题、4 道填空题和 4 道输出预测题,每题都给出准确答案和简短解释。
答案已完整展示,建议先尝试作答,再用本页核对。第一次练习最好从互动练习页开始。
怎样读取第一个订单的价格?
orders = [{"drink": "latte", "price": 4.5}]答案: orders[0]["price"]
为什么: 先用 [0] 选中记录,再读取它的 price 键。
这段代码会输出什么?
data = {"shop": {"name": "Corner", "open": True}}
print(data["shop"]["name"])答案: Corner
为什么: 第一个键选中内层字典,第二个键读取其中的 name。
哪个表达式能收集所有饮料名称?
orders = [{"drink": "latte"}, {"drink": "tea"}]答案: [o["drink"] for o in orders]
为什么: 列表推导式会从每条记录中读取 drink 键。
sum(o["price"] for o in orders) 计算什么?
答案: 所有 price 字段的总和
为什么: 生成器表达式给出每个价格,sum 再把它们相加。
补全键名,使代码打印 latte。
orders = [{"drink": "latte", "price": 4.5}]
print(orders[0]["____"])答案: drink
为什么: 字典把饮料名称保存在 drink 键下。
补全键名,使代码打印 Corner。
data = {"shop": {"name": "Corner"}}
print(data["shop"]["____"])答案: name
为什么: 先选中 data["shop"],再读取它的 name 字段。
补全正在更新的字段名。
orders = [{"price": 3.0}]
orders[0]["____"] = 4.0
print(orders[0]["price"])答案: price
为什么: 给 orders[0]["price"] 赋值会修改第一条记录的价格字段。
补全更新语句,让 total 累加每个价格。
orders = [{"price": 2.0}, {"price": 3.0}]
total = 0
for order in orders:
total ____ order["price"]
print(total)答案: +=
为什么: total += order["price"] 会把每条记录的价格加到累计值上。
运行结果是什么?
data = {"a": {"b": 2}}
print(data["a"]["b"])答案: 2
为什么: 外层键 a 返回内层字典,其中的 b 值是 2。
这段程序打印出什么?
orders = [{"price": 3}, {"price": 4}]
print(sum(o["price"] for o in orders))答案: 7
为什么: 价格 3 和 4 相加得到 7。
代码的输出结果是什么?
data = {"items": [1, 2, 3]}
print(len(data["items"]))答案: 3
为什么: 内层值是一个包含三个元素的列表。
屏幕上会显示什么?
orders = [{"drink": "tea"}, {"drink": "latte"}]
print(orders[1]["drink"])答案: latte
为什么: 索引 1 选中第二条记录,它的 drink 是 latte。
先试一遍题目
打开 Python 嵌套数据 练习页,用即时反馈回答同样的 12 道题。