Re: [閒聊] python大師請進已回收

看板Marginalman作者 (caster )時間1年前 (2024/05/17 00:07), 編輯推噓14(1403)
留言17則, 17人參與, 1年前最新討論串73/75 (看更多)
其實這就py淺複製的問題 淺複製就是給新變數一個新的記憶體位址但新變數內的元素跟原變數是一樣的 以你的例子為例 a = [[[]]*3 for _ in range(3)] print(id(a[0])) print(id(a[1])) print(id(a[0][0])) print(id(a[0][1])) print(id(a[1][0])) print(id(a[1][1])) result: 2558576809792 2558576852544 2558576953472 2558576953472 2558576809664 2558576809664 我們可以發現元素都指向同一個位置 所以修改a[0][0].append(1) a[0][0] a[0][1] a[0][2] 都會受影響 然後推文裡面cp3寫的就是深複製 深複製就是裡面元素的記憶體位址都不同 大概這樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.131.26 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1715875652.A.DC5.html

05/17 00:08, 1年前 , 1F
大師
05/17 00:08, 1F

05/17 00:08, 1年前 , 2F
以前好像學過
05/17 00:08, 2F

05/17 00:09, 1年前 , 3F
大師...
05/17 00:09, 3F

05/17 00:10, 1年前 , 4F
大師
05/17 00:10, 4F

05/17 00:10, 1年前 , 5F
大師
05/17 00:10, 5F

05/17 00:10, 1年前 , 6F
py大師
05/17 00:10, 6F

05/17 00:11, 1年前 , 7F
大師
05/17 00:11, 7F

05/17 00:11, 1年前 , 8F
大師
05/17 00:11, 8F

05/17 00:11, 1年前 , 9F
py大師
05/17 00:11, 9F

05/17 00:11, 1年前 , 10F
玩py大師
05/17 00:11, 10F

05/17 00:11, 1年前 , 11F
大師
05/17 00:11, 11F

05/17 00:12, 1年前 , 12F
py大師
05/17 00:12, 12F

05/17 00:14, 1年前 , 13F
py大師
05/17 00:14, 13F

05/17 00:15, 1年前 , 14F
大師
05/17 00:15, 14F

05/17 00:21, 1年前 , 15F
assign用這個真的超不習慣==
05/17 00:21, 15F

05/17 00:21, 1年前 , 16F
py大師
05/17 00:21, 16F

05/17 00:31, 1年前 , 17F
py大師
05/17 00:31, 17F
文章代碼(AID): #1cHYz4t5 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cHYz4t5 (Marginalman)