當你使用Python中的List,並且想要複製一份新的List並進行修改時,會發現可能不小心改了原本List中的東西,故我在這邊紀錄一下,提醒自己不要犯同樣的錯。
1 | amazon_cart = ['notebook', 'toy', 'grapes'] |
首先,我們把amazon_cart裝滿三個東西,然後新增兩個購物車分別透過Reference與Copy的方式分別新增了購物車1與購物車2,接著我們修改了amazon_cart中第一個item,接著把amazon_cart、new_cart_1與new_cart_2列印出來
我們發現使用new_cart_1 = amazon_cart
代表了Reference,當amazon_cart或new_cart_1改變時,其會互相影響;而new_cart_2 = amazon_cart[:]
則是使用COPY的方式,amazon_cart或new_cart_2其中一邊新增修改list中的項目時,並不會互相影響。