作者CHRyo (绝体绝命自由客)
看板Python
标题[问题] 请教一个一样是个很蠢的问题
时间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个应该怎麽改呢?
谢谢
--
A:你是琪汀吗?
B:不...我是喜瑞儿丝。
-------------------------------------------------------------------------------
A:Are you kidding?
B:No, I'm serious.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.122.92
※ 编辑: CHRyo 来自: 140.118.122.92 (06/29 13:22)
1F:推 holio:因为 a[x]=children 不是复制 所以 a[x].append(h) 其实是 06/29 13:34
2F:→ holio:append 在 children 06/29 13:34
3F:推 subook:要复制新的一份可用 a[x]=list(children) 06/29 13:39
4F:推 CHRyo:感谢楼上两位 06/29 13:52