我认为标题是正确的。如果没有,我道歉
我把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
定义(用0s初始化)为
{'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}
您可以只使用
dct
中的k
,如果键生成的值与lst
中的项匹配,则将mst
中的k
增加1这是因为你的代码输入错误-应该是
masterDict[k] += 1
而不是masterDict[k] = +1
更改后输出为:
{'1': 3, '2': 0, '3': 0, '4': 0, '5': 0, '6': 0, '7': 0, '8': 0}
相关问题 更多 >
编程相关推荐