看板 Python 關於我們 聯絡資訊
上一篇g大提供了答案 而我來回一下你原本的方法錯在哪 ※ 引述《mjchen ( )》之銘言: : 各位老手大家好,我有一個不知道該如何問起的問題 : 手邊有一個List如下 : list = [1, 2, 3, 4, 5] : 之後會對這個List的資料做變更,但是又希望能保留過去完整的資料 : 如果這樣寫 : list = [1, 2, 3, 4, 5] : newList = list ^^^ 這裡的等於是把等號右邊的值assign給等號左邊的值 事實上,python裡的物件的變數的值不是物件本身 而是物件的位置 所以這一行執行之後的結果就是 newList跟list的值都是同一塊記憶體位置 例如 [1,2,3,4,5]在14956384這個位置 ┌───────┐ │ │ newList = list ○ ────→[1, 2 ,3, 4, 5]│ ^^^^^^^ ^^^^ ^^^^ │ │ 14956384 14956384 list、newList └───────┘ ^^^^^^^ newList.pop() 我就是14956384 ^^^^^^^^^^^^^^ 事實上就是14956384.pop() ←當然語法上不能這樣寫 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.232.218.12
mjchen:謝謝G大用心講解+繪圖....現在再來看,看懂了~感謝你! 09/26 00:56
mjchen:太瞎...我是說"W"大(我眼殘) 09/26 00:57