如何在python中创建pivot嵌套字典
可能重复:如何在python中创建pivot嵌套字典,python,dictionary,nested,pivot,Python,Dictionary,Nested,Pivot,可能重复: 我很难找到解决这个嵌套字典问题的方法。 我发现了一些可以使用的itertools函数,但我不清楚如何使用它。这方面的任何帮助都将是巨大的 input = { "a" : { "x": 1, "y": 2 }, "b" : { "x": 3, "z": 4 } } output = {'y': {'a': 2}, 'x': {'a': 1, 'b': 3}, 'z': {'b': 4} } 使用dict.setdefa
我很难找到解决这个嵌套字典问题的方法。 我发现了一些可以使用的itertools函数,但我不清楚如何使用它。这方面的任何帮助都将是巨大的
input = { "a" : { "x": 1, "y": 2 },
"b" : { "x": 3, "z": 4 } }
output = {'y': {'a': 2},
'x': {'a': 1, 'b': 3},
'z': {'b': 4} }
使用
dict.setdefault
的一种简单方法:
i = { "a" : { "x": 1, "y": 2 },
"b" : { "x": 3, "z": 4 } }
d = {}
for key, value in i.iteritems():
for ikey, ivalue in value.iteritems():
d.setdefault(ikey,{})[key] = ivalue
print d
输出:
不清楚。你只是“反转”钥匙吗?我以前见过这个问题,但我找不到:(啊哈!
{'x': {'a': 1, 'b': 3}, 'y': {'a': 2}, 'z': {'b': 4}}