원하는 출력은
dict3 = {입니다. 1 : { "a": { "a"}}, 2 : { "b": { "b"}, "c": { "c"}}, 3 : { "d": { "d"}} }이 깊은 병합을 달성하기 위해 재귀 함수를 활용할 수 있습니다. B의 키를 위해 : a의 키 인 경우 : Isinstance (a [키], dict) 및 isinstance (b [key], dict) : merge (a [키], b [키], 경로 [str (key)]) 또 다른: A [키] = B [키] 또 다른: A [키] = B [키] A
dict1 = { 1: {"a": {"A"}}, 2: {"b": {"B"}} } dict2 = { 2: {"c": {"C"}}, 3: {"d": {"D"}} }이 함수는 2 개의 사전 A 및 B와 중첩 구조의 현재 위치를 추적하는 경로를 반환합니다. B의 키를 통해 반복하고 해당 키가 a에 있는지 확인합니다. 해당 키의 값이 두 사전 인 경우 해당 하위 소설을 병합하기 위해 병합 기능을 재귀 적으로 호출합니다. 그렇지 않으면 B.
의 값으로 값을 업데이트합니다. 1 : { 'a': { 'a'}}, 2 : { 'b': { 'b'}, 'c': { 'c'}}, 3 : { 'd': { 'd'}} }
dict1 = { 1: {"a": {"A"}}, 2: {"b": {"B"}} } dict2 = { 2: {"c": {"C"}}, 3: {"d": {"D"}} }
참고 :
이 함수는 첫 번째 사전, a를 돌립니다. 내용을 보존하려면 병합 (예 : Dict), B).와 병합하기 전에 사본을 만들 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3