gpt4 book ai didi

python - 如何使用重复键合并多个字典中的数据?

转载 作者:行者123 更新时间:2023-12-01 06:27:00 25 4
gpt4 key购买 nike

我有两本词典:

dict1 = {'a': '2', 'b': '10'}
dict2 = {'a': '25', 'b': '7'}

我需要将同一键的所有值保存在新字典中。

到目前为止我能做的最好的事情是:defaultdict(<class 'list'>, {'a': ['2', '25'], 'b': ['10', '7']})

dd = defaultdict(list)
for d in (dict1, dict2):
for key, value in d.items():
dd[key].append(value)
print(dd)

这并不能完全解决问题,因为理想的结果是:

a = {'dict1':'2', 'dict2':'25'}
b = {'dict2':'10', 'dict2':'7'}

此外,我可能想使用与初始字典名称相同的新字典键

最佳答案

您的主要问题是您试图跨越字符串值和变量名之间的实现边界。这几乎总是糟糕的设计。相反,从所有标签作为字符串数据开始:

table = {
"dict1": {'a': '2', 'b': '10'},
"dict2": {'a': '25', 'b': '7'}
}

...或者,就您的原始帖子而言:

table = {
"dict1": dict1,
"dict2": dict2
}

从这里,您应该能够反转级别以获得

invert = {
"a": {'dict1': '2', 'dict2': '25'},
"b": {'dict2': '10', 'dict2': '7'}
}

这足以让您的处理达到所需的程度吗?将数据保存在像这样的综合字典中,可以更轻松地根据需要迭代子字典。

关于python - 如何使用重复键合并多个字典中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60086067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com