我已經把這個問題困擾了很長時間,現在我已經把它交給了更聰明的人。我有一個列表(列表的長度可以在1到100之間變化)。這些列表大部分重複,其中一個或兩個值有所不同。所有字典的鍵總是保持不變。一個例子是象下面這樣:如何合併Python中的字典列表中的字典?
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]也是一樣的。
我要的是實現一個功能合併(myList中),這將給像這樣的輸出:
newList = [
{"k1" : "v11", "k2" : "v21", "k3" : "v31", "k4" : "v41"},
{"k1" : "v12", "k2" : "v22", "k3" : "v32", "k4" : ""}
]
非常感謝提前對你的幫助。
乾杯, Paritosh
那麼,爲什麼'「K3」: 「」被忽略?什麼是合併規則,*完全*? –
可能的重複[如何將一列字典合併爲一個字典?](http://stackoverflow.com/questions/3494906/how-do-i-merge-a-list-of-dicts-into-單個詞典) – Marcin
合併規則是:如果兩個詞典具有最大數量的重複值(對應的鍵),則合併它們。它不是所有提到的問題的重複,因爲我不想將所有的字典合併成一個字典,所以具有最大可能的公共值的字典應該合併。如果所有的字典都有不同的值,他們就不應該合併。 – Paritosh