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

詳解 (共 1 筆)

#6443950

問題 31:Python 程式碼輸出

程式碼分析:

  1. x = [1, 2, 3]:建立一個列表物件 [1, 2, 3],並將變數 x 指向這個物件。
  2. y = x:將變數 y 指向變數 x 所指向的同一個列表物件。此時,x 和 y 都指向記憶體中的 [1, 2, 3]。
  3. x += [4, 5]:對於列表來說,+= 運算符(即 extend 方法的簡寫)會執行原地修改(in-place modification)。這表示它會直接在 x 所指向的那個列表物件的末尾追加元素 4 和 5。它不會建立一個新的列表物件。
    • 因此,原本 [1, 2, 3] 的列表物件,現在變成了 [1, 2, 3, 4, 5]。
  4. print(y):由於 y 仍然指向 x 之前指向的那個列表物件(這個物件已經被原地修改了),所以 y 的值也會反映這個改變。

輸出結果: [1, 2, 3, 4, 5]

對應選項 (B)。

0
0