2017-10-16 149 views
0

之前声称这个问题是重复的如何通过键合并字典值?

我发现了一个similar question posted here。我认为这是因为我正在使用python3,但我收到TypeError: unsupported operand type(s) for +: 'dict_items' and 'dict_items'AttributeError: 'dict' object has no attribute 'iterkeys'提出了各种解决方案。

问题

我有两个字典同键。我想将它们合并成一个单一的字典,其中的键保持不变,但这些值合并在一起。

作为一个例子,我有一些样本成绩簿数据。我想将字典键值对作为标签放置在图例中。

dict_one = {'average' : 84, 'median' : 86.5, 'stdev' : 3.35} 
dict_two = {'average' : 'B', 'median' : 'B+', 'stdev' : 'F'} 

如何修改字典找回

dict_res = {'average' : (84, 'B'), 'median' : (86.5, 'B+'), 'stdev' : (3.35, 'F')} 

我认为一个元组(例如:(84, 'B'))将是最好的,但一个列表(例如:[84, 'B'])可以工作了。

+1

'{关键:(dict_one [关键],dict_two [关键])在dict_one关键}'如果你总是有相同的密钥。 –

回答

0

尝试:

dict_one = {'average' : 84, 'median' : 86.5, 'stdev' : 3.35} 
dict_two = {'average' : 'B', 'median' : 'B+', 'stdev' : 'F'} 
ds = [dict_one, dict_two] 
d = {} 
for k in dict_one.keys(): 
    d[k] = tuple(d[k] for d in ds) 

print(d)