各位大大好
小弟我正在做一道練習題
https://ithelp.ithome.com.tw/articles/10309999
其中有個部分需要把list的其中幾項相加之後再印出
我的想法是:
建一個list2,宣告list2=list1
然後讓list2取list1的值來做運算,計算結果取代原先list2的值
試了之後發現在我計算list2的同時list1的值也跟著list2被改變
所以怎麼算都不是我要的結果
想請問為何同樣是= 用在list上會出現這樣的差異?
在python中,物件的賦值就是簡單的物件引用,list2 只是list1的別名,但都是指向同一塊記憶體位置,你可以在list2 = list1下一行print(list1==list2),會印出True
你可以到這篇(python 移除list元素問題)看看,裡面的回答更豐富更詳細