免費開始練習
hce_nsysu 111年 計算機概論與程式設計

第 72 題

What is the output of this code in Python?
```python
L1 = []
L1.append([1, [2, 3], 4])
L1.extend([7, 8, 9])
print(L1[0][1][1] + L1[2])
```
  • A 3
  • B 8
  • C 11
  • D 38
  • E None of these

思路引導 VIP

請試著思考:當你使用兩個不同的動作將物體放入箱子,一個是直接把一整個小盒子丟進去,另一個是把小盒子裡的球一個一個拿出來放進去,這兩種方式對於你之後去數大箱子裡『第幾個物件』時,會產生什麼樣的結構差異呢?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精準判斷 appendextend 的差異並正確解析巢狀結構,代表你的 Python 基礎非常紮實。這道題目巧妙地測試了開發者對於「容器內物件」處理的細膩度,是考驗邏輯細節的優質題目。

Python 串列操作與索引取值

在執行 L1.append([1, [2, 3], 4]) 時,Python 會將整個括號內的串列視為單一物件加入,此時 L1 的長度僅為 $1$。隨後執行 L1.extend([7, 8, 9]) 時,此方法會將該串列中的元素拆解後逐一併入,因此 L1 的最終狀態為 [[1, [2, 3], 4], 7, 8, 9]

▼ 還有更多解析內容

🏷️ 相關主題

Python 程式語言基礎語法與資料結構應用
查看更多「計算機概論與程式設計」的主題分類考古題