【发布时间】:2018-10-20 18:42:15
【问题描述】:
我认为标题是正确的。如果没有,我很抱歉。
我将aList 定义为
[24, 19, 18, 15, 15, 23, 18, 15, 18, 15]
和aDict定义为
{'1': 18, '2': 76, '3': 0, '4': 13, '5': 4, '6': 30, '7': 25, '8': 21}
和一个 masterDict 定义(用 0 初始化)为
{'1': 0, '2': 0, '3': 0, '4': 0, '5': 0, '6': 0, '7': 0, '8': 0}
如何检查aList 中的每个元素是否与aDict 中的值匹配?如果是,将masterDict 中的对应键加1?
我目前使用的代码是
for x in aList:
for k, v in aDict.iteritems():
if x == v:
masterDict[k] = +1
但是,这会返回一个看起来像这样的masterDict
{'1': 1, '2': 0, '3': 0, '4': 0, '5': 0, '6': 0, '7': 0, '8': 0}
aList 包含三个出现的元素18,它匹配aDict 中的一个值。我希望将masterDict 中的相应键增加三倍。但是,它只会增加一次。
我希望产生的输出是
{'1': 3, '2': 0, '3': 0, '4': 0, '5': 0, '6': 0, '7': 0, '8': 0}
【问题讨论】:
标签: python list dictionary python-2.x