Re: [問題] 新手發問List資料複製
上一篇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
推
09/26 00:56, , 1F
09/26 00:56, 1F
→
09/26 00:57, , 2F
09/26 00:57, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):