나는 이것을 오랫동안 두뇌에 쥐어 놨고, 이제는 그것을 현명한 사람들에게 건네고 있습니다. 목록의 길이는 1에서 100까지 다양합니다. 이 목록에는 대부분 하나 또는 두 개의 값이 중복 된 중복 항목이 있습니다. 모든 dict의 키는 항상 동일하게 유지됩니다. 예는 다음과 같을 것이다 : 자신의 현재 가치의 대부분은 동일로어떻게 파이썬에서 dicts 목록에서 dicts 병합?
myList = [
{"k1" : "v11", "k2" : "v21", "k3" : "v31", "k4" : "v41"},
{"k1" : "v12", "k2" : "v22", "k3" : "", "k4" : ""},
{"k1" : "v11", "k2" : "v21", "k3" : "", "k4" : "v41"},
{"k1" : "v11", "k2" : "v21", "k3" : "v31", "k4" : ""},
{"k1" : "v12", "k2" : "v22", "k3" : "v32", "k4" : ""}
]
는 지금은, myList에 [0]으로 myList [2]과 myList에 [3] 동일하다는 것을 알고있다. 마찬가지로 myList [1]과 myList [4]도 같습니다.
newList = [
{"k1" : "v11", "k2" : "v21", "k3" : "v31", "k4" : "v41"},
{"k1" : "v12", "k2" : "v22", "k3" : "v32", "k4" : ""}
]
도와 주셔서 감사합니다 사전에 많은 :
는 내가 원하는 것은이 같은 출력을 제공하는 함수 병합 (myList에)를 구현하는 것입니다.
건배, Paritosh
을 왜' "K3" ""무시 당하고 있니? 병합 규칙은 무엇입니까? * 정확하게 *? –
[어떻게 하나의 dicts 목록을 단일 dict에 병합합니까?] (http://stackoverflow.com/questions/3494906/how-do-i-merge-a-list-of-dicts-into- a-single-dict) – Marcin
병합 규칙은 다음과 같습니다. 두 개의 dict에 최대 값 (해당 키용)이없는 경우 병합합니다. 그리고 모든 dicts를 하나의 dict에 병합하고 싶지 않기 때문에 언급 한 질문의 복제본이 아니기 때문에 최대 가능한 공통 값을 가진 dicts가 병합되어야합니다. 모든 dicts 값이 다른 경우 병합하지 않아야합니다. – Paritosh