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

看板Marginalman作者 (franchouchouISBEST)時間1年前 (2024/05/16 23:24), 1年前編輯推噓4(406)
留言10則, 6人參與, 1年前最新討論串70/75 (看更多)
我想init一個mxn的2D list,然後每個element又是一個空的list 我這樣寫(假設m=n=3) a = [[[]]*3 for _ in range(3)] print(a) a[0][0].append(1) print(a) 然後 [[[], [], []], [[], [], []], [[], [], []]] [[[1], [1], [1]], [[], [], []], [[], [], []]] ??? 我想要的是 [[[1], [], []], [[], [], []], [[], [], []]] 我哪裡寫錯了嗎== 聖我不會py了 加入不了py邦 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.230.241 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1715873087.A.BF4.html ※ 編輯: DJYOSHITAKA (114.137.230.241 臺灣), 05/16/2024 23:25:05

05/16 23:27, 1年前 , 1F
壓類壓類
05/16 23:27, 1F

05/16 23:27, 1年前 , 2F
因為你寫[[]]*3阿
05/16 23:27, 2F

05/16 23:27, 1年前 , 3F
a = [[[] for _ in range(n)] for _ in range(m)]
05/16 23:27, 3F

05/16 23:28, 1年前 , 4F
太難了吧
05/16 23:28, 4F

05/16 23:29, 1年前 , 5F
然後為啥你要2D的list of lists 寫comprehension
05/16 23:29, 5F

05/16 23:29, 1年前 , 6F
結果是你存三次相同的物件,但我不知道為什麼
05/16 23:29, 6F

05/16 23:29, 1年前 , 7F
所以你改那個物件就感覺結果被複製三次
05/16 23:29, 7F

05/16 23:29, 1年前 , 8F
喔沒事 看到了
05/16 23:29, 8F

05/16 23:29, 1年前 , 9F
好吧 我誤會*的意思了
05/16 23:29, 9F

05/16 23:33, 1年前 , 10F
爛py不如c++
05/16 23:33, 10F
哭了 ※ 編輯: DJYOSHITAKA (114.137.230.241 臺灣), 05/16/2024 23:50:01
文章代碼(AID): #1cHYK_lq (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cHYK_lq (Marginalman)