[閒聊] python大師請進

作者: DJYOSHITAKA (Evans)   2024-05-16 23:24:44
我想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邦
作者: szymwf (szymwf)   2024-05-16 23:27:00
壓類壓類
作者: Smallsh (Smallsh)   2024-05-16 23:27:00
因為你寫[[]]*3阿
作者: CP3isgood (3345678)   2024-05-16 23:27:00
a = [[[] for _ in range(n)] for _ in range(m)]
作者: DJYOSHITAKA (Evans)   2024-05-16 23:28:00
太難了吧
作者: Smallsh (Smallsh)   2024-05-16 23:29:00
然後為啥你要2D的list of lists 寫comprehension
作者: ZooseWu (N5)   2024-05-16 23:29:00
結果是你存三次相同的物件,但我不知道為什麼所以你改那個物件就感覺結果被複製三次
作者: DJYOSHITAKA (Evans)   2024-05-16 23:29:00
好吧 我誤會*的意思了
作者: wu10200512 (廷廷)   2024-05-16 23:33:00
爛py不如c++

Links booklink

Contact Us: admin [ a t ] ucptt.com