Python 中 a += b 不總是等於 a = a + b


如果兩個變數的資料型別相同且不是迭代器(例如列表和字典等),則表示式 a += b 與 a = a + b 的結果相同。但是,當涉及迭代器時,我們不能總是期望相同的結果。以下是一種這樣的場景。

a = a + b 的情況

在這裡我們可以看到,當我們將表示式應用於列表和字串時,期望它們合併,我們得到一個錯誤。

示例

x ='Hello '
z_list = [1,2,3]
z_list = z_list + x
print(z_list)

輸出

執行以上程式碼得到以下結果:

Traceback (most recent call last):
   File "C:\Users\Pradeep\AppData\Roaming\JetBrains\PyCharmCE2020.3\scratches\scratch.py", line 11, in
      z_list = z_list + x
TypeError: can only concatenate list (not "str") to list

a += b 的情況

但是,當我們應用表示式 a += b 時,我們看到字串隱式地轉換為一系列元素以成為列表的一部分。

示例

線上演示

z_list = [1,2,3]
x ='Hello'
z_list += x
print(z_list)

輸出

執行以上程式碼得到以下結果:

[1, 2, 3, 'H', 'e', 'l', 'l', 'o']

更新於:2021年1月25日

瀏覽量:105

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.