答案頁 · 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[0]["price"]正確答案
  4. orders.price[0]

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

為什麼: 先用 [0] 選中記錄,再讀取它的 price 鍵。

02 · 選擇題

這段程式碼會輸出什麼?

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

答案: Corner

為什麼: 第一個鍵選中內層字典,第二個鍵讀取其中的 name。

03 · 選擇題

哪個表達式能收集所有飲料名稱?

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

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

為什麼: 列表推導式會從每條記錄中讀取 drink 鍵。

04 · 選擇題

sum(o["price"] for o in orders) 計算什麼?

  1. 價格列表
  2. 訂單數量
  3. 所有 price 欄位的總和正確答案
  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 道題。

練習本課