我需要将每个键的值相乘,然后将所有值相加以打印单个数字.我知道这可能超级简单,但我卡住了
在我看来,我会用以下内容解决这个问题:
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