이봐, 나도 같은 문제가 있었지만 해결책이 있지만 여기에 게시 할 것입니다. 다른 사람들에게도 유용합니다. 기본적으로 중첩 된 사전을 병합하고 값을 추가하기 위해 저에게 확률을 계산해야했습니다. 하나는 훌륭하게 작동했습니다.
#used to copy a nested dict to a nested dict
def deepupdate(target, src):
for k, v in src.items():
if k in target:
for k2, v2 in src[k].items():
if k2 in target[k]:
target[k][k2]+=v2
else:
target[k][k2] = v2
else:
target[k] = copy.deepcopy(v)
위의 방법을 사용하여 병합 할 수 있습니다.
대상 = { '6,6': { '6,63': 1}, '63, 4 ': {'4,4 ': 1},'4,4 ': {'4,3 ': 1} , '6,63': {'63, 4 ': 1}}
src = { '5,4': { '4,4': 1}, '5,5': { '5,4': 1}, '4,4': { '4,3': 1} }
{ '5,5': { '5,4': 1}, '5,4': { '4,4': 1}, '6,6': { '6,63'이됩니다. : 1}, '63, 4 ': {'4,4 ': 1},'4,4 ': {'4,3 ': 2},'6,63 ': {'63, 4': 1 }}
또한 여기에서 변경 사항을 확인하십시오.
대상 = { '6,6': { '6,63': 1}, '6,63': {'63, 4 ': 1}, '4,4 ': {'4,3 ': 1} , '63, 4 ': {'4,4 ': 1}}
src = { '5,4': { '4,4': 1}, '4,3': { '3,4': 1}, '4,4': { '4,9': 1} , '3,4': { '4,4': 1}, '5,5': { '5,4': 1}}
병합 = { '5,4': { '4,4': 1}, '4,3': { '3,4': 1}, '6,63': {'63, 4 ': 1} , '5,5': { '5,4': 1}, '6,6': { '6,63': 1}, '3,4': { '4,4': 1}, ' 63,4 ': {'4,4 ': 1}, '4,4 ': {'4,3 ': 1,'4,9 ': 1} }
사본에 대한 가져 오기도 추가하는 것을 잊지 마십시오.
import copy
y
은c
레벨 또는 무엇 을 평평하게 하시겠습니까? 귀하의 예가 불완전합니다.