看板 Python 關於我們 聯絡資訊
>>> x=[[]]*2 >>> x [[], []] >>> x[0].append('a') >>> x[1].append('b') >>> x [['a', 'b'], ['a', 'b']] >>> 與預期的結果 [['a'],['b']] 不同 請問這算是 IDLE 的 BUG 嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.27.106.65 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1451874080.A.68A.html
painkiller: 不是,你應該用 x = [[] for i in range(2)] 01/04 10:43
painkiller: [[]]*2得到的是兩個指向同一個位址的[] 01/04 10:44
bigpigbigpig: https://ideone.com/Yi6iwa 01/04 20:01
Falldog: 不是bug 這就像是a = []; x=a*2; # x[0]==x[1]==a 01/05 07:53
uranusjr: 樓上我知道你想說什麼, 但你的例子完全不對, 應該用 is 01/05 12:15