我有本字典:
result = {'kid': ['$6.00', '$159.00', '$10.00'],
'entertainment': ['$2.40', '$3.10', '$30.37', '$40.15'],
'food': ['$5.04', '$8.00', '$160.15'],
... }
我正在尝试编写代码,将每个值的数量相加并打印到相应的键旁边,结果如下:
^{pr2}$我使用了下面的代码和它的变体,试图得到值的总和。在
sumCat={}
for k, v in result.items():
sumCat[k] = sum(v)
print(sumCat)
但我总是收到这样的错误信息:
unsupported operand type(s) for +: 'int' and 'str'
我不明白这个消息。在
您可以使用字典理解:
输出:
^{pr2}$这里的问题是你试图把字符串加在一起——注意原始答案中的价格是如何在报价中的,并且有
$
符号,它们不仅仅是数字!在你要解决的就是这个问题。我在这里避免使用
sum
方法,因为它并不是真正为处理这样的输入而设计的。有一种方法可以做到:在字符串列表中使用“sum”。你必须把每一个都转换成一个数值,把这些数值相加,然后转换成你想要的形式。在
我建议您只处理这些值;保留
$
作为输出格式。在相关问题 更多 >
编程相关推荐