【问题标题】:How can I merge dictionary values by key? [duplicate]如何按键合并字典值? [复制]
【发布时间】:2018-03-27 15:54:11
【问题描述】:

在声明此问题重复之前

我找到了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'])也可以。

【问题讨论】:

  • {key:(dict_one[key], dict_two[key]) for key in dict_one} 如果您始终拥有相同的密钥。

标签: python-3.x list dictionary collections tuples


【解决方案1】:

试试:

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多