我正在尝试在 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' :''}
时
我明白了
输出
{'lname': 0, 'fname': 0}
{'lname': 1, 'fname': 1}
Array : [{'lname': 0, 'fname': 0}, {'lname': 1, 'fname': 1}]
我没有得到python的默认行为...请解释
答案 0 :(得分:0)
我得到了答案,感谢@falsetru的评论,当我print id(dictionary)
时
当我发表评论dictionary = {'fname' : '' , 'lname' :''}
时,我会打印相同的ID
我得到打印的不同ID 。
list_name = []
dictionary = {'fname' : '' , 'lname' :''}
for i in range(0,2):
dictionary['fname'] = i
dictionary['lname'] = i
print dictionary
print id(dictionary)
list_name.append(dictionary)
#dictionary = {'fname' : '' , 'lname' :''}
print "List : ", list_name