gpt4 book ai didi

Python 反转嵌套字典

转载 作者:行者123 更新时间:2023-11-28 16:45:14 25 4
gpt4 key购买 nike

我想使用嵌套字典并反转值例如

input = { "a" : { "x": 2, "y": 3 },
"b" : { "x": 5, "z": 7 } }
output = {'y': {'a': 3},
'x': {'a': 2, 'b': 5},
'z': {'b': 7} }

我有什么:

def reverse_nest_dicts(nested_dict):
reverse_nest_dict = {}
for k, v in nested_dict:
for k2, v2 in nested_dict.values():
reverse_nest_dict[k2][k] = v2
return reverse_nest_dict

最佳答案

for k2, v2 in nested_dict.values():

应该是

for k2, v2 in v.items():

(另请注意,如果您使用的是 Python 2.x,使用 .iteritems() 代替 .items() 可能更有效。)


您还需要确保子词典已初始化 - 您可以使用 defaultdict...

from collections import defaultdict
reverse_nest_dict = defaultdict(dict)

...或使用setdefault:

reverse_nest_dict.setdefault(k2, {})[k] = v2

关于Python 反转嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14554178/

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