作者loteslogin (張三立)
看板Python
標題[問題] 這算是 BUG 嗎?
時間Mon Jan 4 10:21:17 2016
>>> 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
推 Falldog: 不是bug 這就像是a = []; x=a*2; # x[0]==x[1]==a 01/05 07:53
→ uranusjr: 樓上我知道你想說什麼, 但你的例子完全不對, 應該用 is 01/05 12:15