[闲聊] 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