我將有 N 個不同的嵌套字典,其中不同的嵌套結構將具有不同的深度。
d1 = {'A' : {'B' : 1, 'C': {'D' : 2 } } }
d2 = {'A' : {'C' : {'D' : 2 } , 'E' : 3, 'F' : { 'G' : {'H' : 3 } } } }
..
我想做的是將所有字典中的任何常見和獨特結構分開。
這樣做的有效方法是什么?
如果我們認為只有 d1 和 d2 我希望輸出為
common_d = {'A' : { 'C' : {'D' : 2 } } }
unique_d1 = {'A' : {'B' : 1 } }
unique_d2 = {'A' : {'E' : 3, 'F' : { 'G' : {'H' : 3 } } } }
對于 N 個嵌套字典,有什么方法可以做到這一點嗎?
uj5u.com熱心網友回復:
您有分層(嵌套)字典值,沿著從根到葉的每條路徑都有識別符號。將這些路徑轉換為可散列的東西,例如tupleor str,并將它們放入set描述 d1 的 a 中。
現在在 d2 上進行類似的迭代并計算集合交集,注意任何 d2 路徑也出現在 d1 中。如果您將排序集存盤在文本檔案中,您會發現它們提供了資訊豐富diff的輸出。
或者只是遍歷 d1 的路徑并用類似的路徑探測 d2。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/517796.html
標籤:Python字典
上一篇:使::功能作為評論
下一篇:初識設計模式 - 策略模式
