答案页 · 12 道题

Python 嵌套数据练习答案

本页汇总 Python 嵌套数据 的 12 道练习。先做练习页,再回到这里核对准确答案和原因。

快速答案

本答案页包含 Python 嵌套数据 的 4 道选择题、4 道填空题和 4 道输出预测题,每题都给出准确答案和简短解释。

答案已完整展示,建议先尝试作答,再用本页核对。第一次练习最好从互动练习页开始。

01 · 选择题

怎样读取第一个订单的价格?

orders = [{"drink": "latte", "price": 4.5}]
  1. orders.price[0]
  2. orders[0]["price"]正确答案
  3. orders["price"][0]
  4. orders[0].price

答案: orders[0]["price"]

为什么: 先用 [0] 选中记录,再读取它的 price 键。

02 · 选择题

这段代码会输出什么?

data = {"shop": {"name": "Corner", "open": True}}
print(data["shop"]["name"])
  1. shop
  2. Corner正确答案
  3. True
  4. name

答案: Corner

为什么: 第一个键选中内层字典,第二个键读取其中的 name。

03 · 选择题

哪个表达式能收集所有饮料名称?

orders = [{"drink": "latte"}, {"drink": "tea"}]
  1. for o in orders: o.drink
  2. orders["drink"]
  3. [o["drink"] for o in orders]正确答案
  4. orders[0]["drink"]

答案: [o["drink"] for o in orders]

为什么: 列表推导式会从每条记录中读取 drink 键。

04 · 选择题

sum(o["price"] for o in orders) 计算什么?

  1. 所有 price 字段的总和正确答案
  2. 价格列表
  3. 最高的价格
  4. 订单数量

答案: 所有 price 字段的总和

为什么: 生成器表达式给出每个价格,sum 再把它们相加。

05 · 填空题

补全键名,使代码打印 latte。

orders = [{"drink": "latte", "price": 4.5}]
print(orders[0]["____"])

答案: drink

为什么: 字典把饮料名称保存在 drink 键下。

06 · 填空题

补全键名,使代码打印 Corner。

data = {"shop": {"name": "Corner"}}
print(data["shop"]["____"])

答案: name

为什么: 先选中 data["shop"],再读取它的 name 字段。

07 · 填空题

补全正在更新的字段名。

orders = [{"price": 3.0}]
orders[0]["____"] = 4.0
print(orders[0]["price"])

答案: price

为什么: 给 orders[0]["price"] 赋值会修改第一条记录的价格字段。

08 · 填空题

补全更新语句,让 total 累加每个价格。

orders = [{"price": 2.0}, {"price": 3.0}]
total = 0
for order in orders:
    total ____ order["price"]
print(total)

答案: +=

为什么: total += order["price"] 会把每条记录的价格加到累计值上。

09 · 输出预测

运行结果是什么?

data = {"a": {"b": 2}}
print(data["a"]["b"])

答案: 2

为什么: 外层键 a 返回内层字典,其中的 b 值是 2。

10 · 输出预测

这段程序打印出什么?

orders = [{"price": 3}, {"price": 4}]
print(sum(o["price"] for o in orders))

答案: 7

为什么: 价格 3 和 4 相加得到 7。

11 · 输出预测

代码的输出结果是什么?

data = {"items": [1, 2, 3]}
print(len(data["items"]))

答案: 3

为什么: 内层值是一个包含三个元素的列表。

12 · 输出预测

屏幕上会显示什么?

orders = [{"drink": "tea"}, {"drink": "latte"}]
print(orders[1]["drink"])

答案: latte

为什么: 索引 1 选中第二条记录,它的 drink 是 latte。

先试一遍题目

打开 Python 嵌套数据 练习页,用即时反馈回答同样的 12 道题。

练习本课