Potrzebuję pomocy w zakresie optymalnego i dobrego rozwiązania dla mojej odpowiedzi.Optymalny sposób podpowiedzi w celu uzyskania wyniku końcowego
Mam wejściowego dict takiego:
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},
}
Chcę Output tak:
{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}}}
Zrobiłem kod poniżej
data_dict = defaultdict(dict)
for (a,b), c in a.items():
data_dict[a].update({b:c})
miałem już powyżej odpowiedź do osiągnięcia moje pożądane wyniki, czy to dobre podejście? Czy istnieją lepsze rozwiązania, aby osiągnąć wynik (w sposób pytonowy), muszą być optymalne.
Wygląda dobrze dla mnie. – Ding
Nie ma lepszego rozwiązania niż to? @Di – Sagar
Może ktoś inny będzie miał lepsze podejście, ale zrobiłbym to w taki sam sposób, jak to zrobiłeś, łatwo go przeczytać. – Ding