두 개의 사전이 있는데, 내가하려는 것은 약간 이상합니다. 기본적으로, 나는 그들을 합병하고 싶다. 그 정도로 간단합니다. 그러나 그것들은 사전의 계층 구조입니다. 사전에있는 항목 자체가 사전이고 두 항목 모두에 존재하는 경우 그 사전을 병합하기를 원합니다. 사전이 아니면 두 번째 사전의 값이 첫 번째 값의 값을 덮어 쓰게합니다. 뭔가 이런 식으로 :파이썬에서 사전의 병합 계층
a = {0: {0: "a"},
1: [0, 1, 2]}
b = {0: {1: "b"},
1: [3, 4, 5]}
Merge(a, b)
#output:
{0: {0: "a",
1: "b"},
1: [3, 4, 5]}
의미가 있습니까? 키 "0"은 a와 b 모두에 사전을 포함하고 있기 때문에 사전을 병합했습니다. 그러나 두 번째 키의 경우에는 목록 이었으므로 그냥 덮어 썼습니다.
그래서 어떤 종류의 재귀 함수를 살펴 볼까요? 이 방법에 접근하는 방법을 잘 모르겠습니다.
감사합니다.
편집 : 나는 2.6.2과 2.7.3 모두에서 작동하는 기능을 필요
: 나는 하나 개의 매우 중요한 세부 사항을 언급하는 것을 잊었다.
어떤 경우 다른 딕셔너리의 딕셔너리는 2' 한 딕셔너리의 목록은 '1'이고 '의 값 ? – thefourtheye
일반적으로 나는 그것이 실제로 일어날 것이라고 생각하지 않지만, 그런 경우에, 나는 다른 사전의 값으로 덮어 쓴다고 생각합니다. –