[问题] 这算是 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