Re: [問題] 請教一個一樣是個很蠢的問題

看板Python作者 (Art of Life)時間17年前 (2007/06/29 14:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/8 (看更多)
※ 引述《CHRyo (絕體絕命自由客)》之銘言: : 標題: [問題] 請教一個一樣是個很蠢的問題 : 時間: Fri Jun 29 13:19:34 2007 : : a={} : addr = [1,2,3,4] : children=[5,6,7,8] : h="!" : : for x in addr: : a[x]=children : a[x].append(h) : : print a : : : ========================================================== : 執行結果 : {1: [5, 6, 7, 8, '!', '!', '!', '!'], : 2: [5, 6, 7, 8, '!', '!', '!', '!'], : 3: [5, 6, 7, 8, '!', '!', '!', '!'], : 4: [5, 6, 7, 8, '!', '!', '!', '!'] } : : 請問為什麼會有[5,6,7,8]後面會有4個"!"而不是只有1個? : 如果我只要1個應該怎麼改呢? : 謝謝 : : ※ 編輯: CHRyo 來自: 140.118.122.92 (06/29 13:22) : 推 holio:因為 a[x]=children 不是複製 所以 a[x].append(h) 其實是 06/29 13:34 : → holio:append 在 children 06/29 13:34 不好意思...這邊想請問h大... 因為我用同一份程式碼... a={} child=[5,6,7,8] a[1]=child a[1].append("!") ========結果============== a{1: [5, 6, 7, 8, '!']} 為什麼一樣是用append的方法...但是卻有不一樣的結果?? 可以勞煩解答一下嗎? 另外這邊是說a[x]不是複製...這又是什麼意思?? : 推 subook:要複製新的一份可用 a[x]=list(children) 06/29 13:39 : 推 CHRyo:感謝樓上兩位 06/29 13:52 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.50.103
文章代碼(AID): #16XAFEQM (Python)
討論串 (同標題文章)
文章代碼(AID): #16XAFEQM (Python)