2015-11-01 56 views
-1

考虑两个字典:创建新的字典了两个现有的字典

dict1 = {'a': 35, 'b': 39, 'c': 20} # (with the values as integers) 

dict2 = {'a': 23, 'c': 12} 

我想获取以下信息:

dict_new = {'a': 0.657, 'c': 0.6} # (with the values as floats, as values of dict2/dict1) 
+1

那么你尝试过什么,以及究竟是它的问题? “b”和“dict2”中不在“dict1”中的按键有什么关系? – jonrsharpe

回答

3

可以使用dict2.keys() & dict1得到共同的键,然后就去做师:

dict1 = {'a':35, 'b': 39, 'c':20} #(with the values as integers) 

dict2 = {'a':23, 'c':12} 

d3 = {k: dict2[k]/dict1[k] for k in dict2.keys() & dict1} 

如果要将值舍入到三位小数地方使用round(dict2[k]/dict1[k],3),如果从dict2键应始终dict1那么你可以简单地遍历dict2的项目:

d = {k:v/dict1[k] for k,v in dict2.items()} 
0
dic_new = {} 
for key in dic2.keys(): 
    dic_new[key]=float(dict2[key])/dict1[key]