[問題] 這算是 BUG 嗎?

作者: loteslogin (張三立)   2016-01-04 10:21:17
>>> x=[[]]*2
>>> x
[[], []]
>>> x[0].append('a')
>>> x[1].append('b')
>>> x
[['a', 'b'], ['a', 'b']]
>>>
與預期的結果 [['a'],['b']] 不同
請問這算是 IDLE 的 BUG 嗎?
作者: painkiller (肚子餓~)   2016-01-04 10:43:00
不是,你應該用 x = [[] for i in range(2)][[]]*2得到的是兩個指向同一個位址的[]
作者: bigpigbigpig (To littlepig with love)   2016-01-04 20:01:00
作者: Falldog (Yo)   2016-01-05 07:53:00
不是bug 這就像是a = []; x=a*2; # x[0]==x[1]==a
作者: uranusjr (←這人是超級笨蛋)   2016-01-05 12:15:00
樓上我知道你想說什麼, 但你的例子完全不對, 應該用 is

Links booklink

Contact Us: admin [ a t ] ucptt.com