使用两个词典查找平均值

时间:2015-05-02 10:32:53

标签: python python-3.x dictionary

我想要使用两本词典:

dictionary1 = {'Reece': 2, 'Harry': 3, 'Jack': 3, 'Sam': 3, 'Dom': 3}
dictionary2 = {'Reece': 1, 'Harry': 14, 'Jack': 8, 'Sam': 16, 'Dom': 5}

我希望将dictionary2中的每个值除以dictionary1中的值,然后将其打印出来。 这将打印出如下内容:

  

里斯:0.5

     

哈里:4.66

我目前正在尝试使用此代码进行打印和舍入,这是错误的:

for b in dictionary2
            print('{}: {} '.format(b[0], round(b[1]/dictionary1[1], 2)))

2 个答案:

答案 0 :(得分:0)

results = {item:round(dictionary2.get(item)/dictionary1.get(item), 2) for item in dictionary1}

results

  

{'Reece':0.5,'Harry':4.67,'Sam':5.33,'Dom':1.67,'Jack':2.67}

print(*(': '.join([item, str(results.get(item))]) for item in results), sep='\n')
  

Reece:0.5

     

哈利:4.67

     山姆:5.33

     

Dom:1.67

     杰克:2.67

答案 1 :(得分:0)

如果上述解决方案的逻辑几乎相同,您可以直观地了解正在发生的事情。您可以在打印或存储时根据需要格式化浮动

>>> for k1 in dictionary2.keys():
...     for k2 in dictionary1.keys():
...             if k1 == k2:
...                     print k1, float(dictionary2[k1])/dictionary1[k2]

下面的一个更简单 - 所以python interpeteter不会重载

>>> for k in dictionary2.keys():
...     print k, float(dictionary2[k])/dictionary1[k]