python – 乘以两个词典(价格,股票)的值,然后求和

我需要将每个键的值相乘,然后将所有值相加以打印单个数字.我知道这可能超级简单,但我卡住了

在我看来,我会用以下内容解决这个问题:

for v in prices:
total = sum(v * (v in stock))
print total

但这样的事情不会起作用:)

prices = {
"banana": 4,
"apple": 2,
"orange": 1.5,
"pear": 3 }

stock = {
"banana": 6,
"apple": 0,
"orange": 32,
"pear": 15 }

解决方法:

如果你想要个人,你可以使用词典理解:

>>> {k: prices[k]*stock[k] for k in prices}
{'orange': 48.0, 'pear': 45, 'banana': 24, 'apple': 0}

或直接进入总数:

>>> sum(prices[k]*stock[k] for k in prices)
117.0
上一篇:简单购物程序


下一篇:二、分布式服务框架-Dubbo