2
這是一本python書的測試項目。我試圖迭代一個列表,並檢查每個項目是否是字典中的一個鍵。如果是,再加入1到字典中的值,如果不添加鍵,然後將該值設置爲1,這是我到目前爲止的代碼:Python遍歷列表和詞典
inv_original = {'gold coin' : 42, 'rope' : 1}
dragonloot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
def addtoinventory(dict_a, addeditems):
for i in addeditems:
if dict_a.has_key(i):
dict_a[str(i)] = dict_a.get(i, 0) + 1
else:
dict_a[str(i)] = 1
return dict_a
inv = addtoinventory(inv_original, dragonloot)
print inv
它似乎工作,但只在第一項列表中,它不會遍歷其餘部分。任何人都可以幫忙嗎?
你回來得太早。專業提示:[不要使用'has_key'](https://docs.python.org/2/library/stdtypes.html#dict.has_key),只需使用'if if in dict_a:'。 –