31. 下列何者為執行下面 Python 程式碼的正確輸出?
(A) [1, 2, 3]
(B) [1, 2, 3, 4, 5]
(C) 錯誤:y 未定義
(D) [4, 5]
答案:登入後查看
統計: A(11), B(9), C(3), D(1), E(0) #3447898
統計: A(11), B(9), C(3), D(1), E(0) #3447898
詳解 (共 1 筆)
#6443950
問題 31:Python 程式碼輸出
程式碼分析:
- x = [1, 2, 3]:建立一個列表物件 [1, 2, 3],並將變數 x 指向這個物件。
- y = x:將變數 y 指向變數 x 所指向的同一個列表物件。此時,x 和 y 都指向記憶體中的 [1, 2, 3]。
- x += [4, 5]:對於列表來說,+= 運算符(即 extend 方法的簡寫)會執行原地修改(in-place modification)。這表示它會直接在 x 所指向的那個列表物件的末尾追加元素 4 和 5。它不會建立一個新的列表物件。
- 因此,原本 [1, 2, 3] 的列表物件,現在變成了 [1, 2, 3, 4, 5]。
- print(y):由於 y 仍然指向 x 之前指向的那個列表物件(這個物件已經被原地修改了),所以 y 的值也會反映這個改變。
輸出結果: [1, 2, 3, 4, 5]
對應選項 (B)。
0
0