(我是Python新手!) 试着找出这个家庭作业问题: 函数将接受两个字典的输入,每个字典将字符串映射为整数。函数将返回一个字典,该字典将两个输入字典中的字符串映射为两个输入字典中整数的和。你知道吗
我的想法是:
def add(dicA,dicB):
dicA = {}
dicB = {}
newdictionary = dicA.update(dicB)
然而,这又带来了None
。你知道吗
以教授为例:
print(add({'alice':10, 'Bob':3, 'Carlie':1}, {'alice':5, 'Bob':100, 'Carlie':1}))
输出为:
{'alice':15, 'Bob':103, 'Carlie':2}
我的问题是我不知道如何将每个字典的值相加。我知道字典不支持“+”。我不想找任何人帮我做作业,但任何建议都将非常感谢!你知道吗
以下不是最优雅的解决方案,而是要了解如何处理dicts。你知道吗
输出:
首先,
a.update(b)
就地更新a
,并返回None
。 其次,a.update(b)
不会帮助您对键进行求和;它只会生成一个字典,其结果字典包含来自b
的所有键、值对:使用^{} 来获得期望的结果是最简单的。另外,它还支持添加
+
:这将产生预期的结果:
从documentation:
如果不想替换键/值对,则需要为相似的键添加值。浏览每个字典并将每个值添加到相关键:
result.get(key, 0)
将检索现有key
的值,如果key
还不存在,则生成0
。你知道吗相关问题 更多 >
编程相关推荐