更新後的dict迭代dict只保留最後一個迭代對。Python字典沒有更新
示例:
# DICTIONARY PROBLEM
class Dict_ator(object):
def __init__(self, str, int):
self.string = str
self.integer = int
boogeyman = []
i = 1
for char in "boogeyman" :
boogeyman.append(Dict_ator(char, i))
i += 1
dictonary = {}
for b in boogeyman :
dictonary.update(s = b.string, i = b.integer)
我做錯了嗎?
你想要什麼輸出? – Eric
這與您遇到的問題無關,但使用名稱'str'和'int'作爲變量名(通常在'Dict_ator .__ init__'中使用)通常是一個糟糕的主意。這是因爲它們是內置對象的名稱,並且發現它們在某些時候會做某些事情可能非常令人驚訝。當它在一個函數的本地命名空間中時並不是太糟糕,但是如果你曾經在模塊級別做過它,它會導致非常混亂的錯誤。 – Blckknght
[python字典更新方法]的可能重複(http://stackoverflow.com/questions/173290/python-dictionary-update-method) – Dukeling