-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