顯示廣告
隱藏 ✕
請問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
※ 看板: Programming 文章推薦值: 1 目前人氣: 0 累積人氣: 455 
1樓 時間: 2011-02-16 09:29:29 (台灣)
  02-16 09:29 TW
不會python 不過我看你多問幾次說不定我就要學會了:D
2樓 時間: 2011-02-16 19:52:54 (台灣)
  02-16 19:52 TW
一起來學python吧XD
3樓 時間: 2011-02-17 18:05:44 (台灣)
  02-17 18:05 TW
等我考完 不過寫網站跟寫android優先0.0
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇