在下面的代码中:
L = [1,2,3]
addr1 = id(L)
L = L + [4,5]
addr2 = id(L)
L = [1,2,3]
addr3 = id(L)
L += [4,5]
addr4 = id(L)
print addr1 == addr2
print addr3 == addr4
答案是False,True,但为什么呢?
我认为 L += [4,5] 只是 L = L +[4,5] 的缩写。
请您参考如下方法:
当 x 是一个列表时,
x += y 并不完全等同于 x = x + y。当它是一个列表时,+= 对列表执行就地修改,而不是使用串联创建一个新列表。但是 + 总是创建一个新列表。
