【发布时间】:2015-11-15 05:07:48
【问题描述】:
这是一个来自 python 书籍的测试项目。我正在尝试遍历列表并检查每个项目是否是字典中的键。如果是,则将 1 添加到字典值,如果不添加键,然后将值设置为 1。这是我到目前为止的代码:
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
它似乎有效,但仅适用于列表中的第一项,它不会遍历其余部分。有人可以帮忙吗?
【问题讨论】:
-
你回来得太早了。专业提示:Don't use
has_key
,只需使用if i in dict_a:
。
标签: python dictionary