Re: [問題] 請教一個一樣是個很蠢的問題
: ====
: for x in addr:
: a[x]=children
: a[x].append(h)
: print a
: =====
: 而我只是將他迴圈部份取出..
: 也就是我只做
: a[1]=children
: a[1].append("!")
: 他的結果是
: {1: [5, 6, 7, 8, '!', '!', '!', '!'],
: 2: [5, 6, 7, 8, '!', '!', '!', '!'],
: 3: [5, 6, 7, 8, '!', '!', '!', '!'],
: 4: [5, 6, 7, 8, '!', '!', '!', '!'] }
: 但我的結果是
: {1: [5, 6, 7, 8, '!']}
: 但是結果卻不會跟他一樣得到四個"!".....
因為你只 append 了一次
: 其實我的點就卡在這......這兩個到底是差別在那??
: 這個for迴圈不只是重覆我的動作做一樣的事嗎??
: 煩請解答一下........
a[x] 只是「指向」children,而不是複製一份到 a[x]
for x in addr:
a[x]=children
a[x].append(h)
print children
[5, 6, 7, 8, '!']
[5, 6, 7, 8, '!', '!']
[5, 6, 7, 8, '!', '!', '!']
[5, 6, 7, 8, '!', '!', '!', '!']
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.171.77
※ 編輯: elic 來自: 61.229.171.77 (06/29 18:46)
推
06/29 18:56, , 1F
06/29 18:56, 1F
※ 編輯: elic 來自: 61.229.171.77 (06/29 19:00)
討論串 (同標題文章)
Python 近期熱門文章
PTT數位生活區 即時熱門文章