作者doun (噜啦噜啦勒)
看板Python
标题[问题] 关於巢状list的初始化
时间Tue Mar 21 18:53:59 2017
以下两种初始化,出来的结果是相同的
A = [[0]*8,
[0]*8,
[0]*8,
[0]*8,
[0]*8,
[0]*8,
[0]*8,
[0]*8]
A = [[0]*8]*8
但为何使用
for i in range(0,8):
for j in range(0,8):
A[i][j] = chr(i+j)
所得到的结果会不同?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.105.42.157
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1490093643.A.BFB.html
1F:→ Marsden: 这两种其实初始化结果并不一样喔...03/21 19:04
2F:推 ckc1ark: 第二种方法里面的8个list都是同个obj03/21 19:08
那还有办法简化第一种表达式吗?
※ 编辑: doun (27.105.42.157), 03/21/2017 19:21:59
4F:→ Marsden: A = [[0]*8 for i in range(8)] 是一个可行的方法03/21 19:25
哦哦哦 感谢大家的解惑
※ 编辑: doun (219.85.224.133), 03/22/2017 06:35:41