-2
我想下面Python代码运行程序意外执行
list_name = []
dictionary = {'fname' : '' , 'lname' :''}
for i in range(0,2):
dictionary['fname'] = i
dictionary['lname'] = i
print dictionary
list_name.append(dictionary)
#dictionary = {'fname' : '' , 'lname' :''}
print "List : ", list_name
输出
{'lname': 0, 'fname': 0}
{'lname': 1, 'fname': 1}
Array : [{'lname': 2, 'fname': 2}, {'lname': 2, 'fname': 2}]
当我在上面的代码中去掉这一行dictionary = {'fname' : '' , 'lname' :''}
我得到这个
Out把
{'lname': 0, 'fname': 0}
{'lname': 1, 'fname': 1}
Array : [{'lname': 0, 'fname': 0}, {'lname': 1, 'fname': 1}]
我没有得到蟒蛇的默认行为......请解释
该代码附加**相同的字典**两次。 – falsetru 2014-08-28 13:39:15
@falsetru为什么相同的字典被附加两次,这是我的问题。它应该是不同的,因为我在一个循环中追加 – Wazzzy 2014-08-28 13:44:44
引用'字典'从未改变。在循环中尝试'print id(dictionary)' – falsetru 2014-08-28 13:47:14