作者:不是我的这 | 来源:互联网 | 2023-02-01 16:13
我需要一些关于我的答案的最佳和良好解决方案的帮助.
我输入这样的字典:
a = {
(1, 1403): {1:0.1, 2:0.1, 3:0.2},
(1, 1412): {1:0.1, 2:0.1, 3:0.2},
(1, 1411): {1:0.1, 2:0.1, 3:0.2},
(1, 1402): {1:0.1, 2:0.1, 3:0.2},
(1, 1411): {1:0.1, 2:0.1, 3:0.2},
(2, 1501): {1:0.1, 2:0.1, 3:0.2},
(2, 1511): {1:0.1, 2:0.1, 3:0.2},
(2, 1700): {1:0.1, 2:0.1, 3:0.2},
(2, 1120): {1:0.1, 2:0.1, 3:0.2},
(2, 2133): {1:0.1, 2:0.1, 3:0.2},
(2, 2130): {1:0.1, 2:0.1, 3:0.2},
(2, 901): {1:0.1, 2:0.1, 3:0.2},
(3, 1111): {1:0.1, 2:0.1, 3:0.2},
}
我想输出像这样:
{1: { 1403: {1: 0.1, 2: 0.1, 3: 0.2},
1402: {1: 0.1, 2: 0.1, 3: 0.2},
1411: {1: 0.1, 2: 0.1, 3: 0.2},
1412: {1: 0.1, 2: 0.1, 3: 0.2}},
2: {1120: {1: 0.1, 2: 0.1, 3: 0.2},
2130: {1: 0.1, 2: 0.1, 3: 0.2},
1700: {1: 0.1, 2: 0.1, 3: 0.2},
901: {1: 0.1, 2: 0.1, 3: 0.2},
1511: {1: 0.1, 2: 0.1, 3: 0.2},
1501: {1: 0.1, 2: 0.1, 3: 0.2},
2133: {1: 0.1, 2: 0.1, 3: 0.2}},
3: {1111: {1: 0.1, 2: 0.1, 3: 0.2}}}
我已经完成了以下代码
data_dict = defaultdict(dict)
for (a,b), c in a.items():
data_dict[a].update({b:c})
我已经在上面回答了我想要的输出,这是好方法吗?有没有更好的解决方案来实现结果(以pythonic方式),必须是最佳的.