請問python list問題

>>> # case 1
>>> m = [[0,0], [1,1]]
>>> n = m[:]
>>> n += [[2, 2]]
>>> n
[[0, 0], [1, 1], [2, 2]]
>>> m
[[0,0], [1,1]]

>>> #case2
>>> u = [[0, 0], [1, 1]]
>>> v = u[:]
>>> u is v
False
>>> v[0] += [2]
>>> v
[[0, 0, 2], [1, 1]]
>>> u
[[0, 0, 2], [1, 1]]
>>> v is u
False

請問一下,怎麼會這樣啊?
為什麼m跟n不會一起變
而v is not u但v跟u卻會一起變?

※ 編輯: Leon  時間: 2011-02-16 01:36:52  來自: 220-132-231-11.HINET-IP.hinet.net
※ 同主題文章:
新手再度發問Python list問題
02-16 01:30 Leon
--
Leon: 新手再度發問Python list問題 - Programming板