0
我只是遇到了這個錯誤:爲什麼有A = A +之間的差異B和A + = B
def fn_that_uses_a_list(list):
if (list[-1] < 0): list += [0]
for item in list:
print(item)
l = [-4, -2]
fn_that_uses_a_list(l)
# Now suddenly l has three items.
但是,如果我改變list += [0]
到list = list + [0]
,那麼事情的工作。我覺得這很讓人困惑,但這可能是因爲我是Python新手。
爲什麼這種情況有所不同?我正在尋找一個更生動的答案,而不是「list
是一個參考,所以+=
修改原來的」
我在做一些「非pythonic」,這使我碰到了錯誤?
您的預期行爲是什麼?你不想讓列表在函數後有三個項目嗎? – syntonym
這裏有什麼問題! –
@syntonym No.我在功能期間暫時需要一個包含三個項目的清單。在調用函數後,我仍然需要原始列表保持不變... – Soumya