如何比較dict
的兩個列表?結果應該是奇數的了,從字典B.名單如何比較Python中的兩個字典列表?
例子:
ldA = [{'user':"nameA", 'a':7.6, 'b':100.0, 'c':45.5, 'd':48.9},
{'user':"nameB", 'a':46.7, 'b':67.3, 'c':0.0, 'd':5.5}]
ldB =[{'user':"nameA", 'a':7.6, 'b':99.9, 'c':45.5, 'd':43.7},
{'user':"nameB", 'a':67.7, 'b':67.3, 'c':1.1, 'd':5.5},
{'user':"nameC", 'a':89.9, 'b':77.3, 'c':2.2, 'd':6.5}]
在這裏,我想和1dB的比較LDA。它應該打印下面的輸出。
ldB -> {user:"nameA", b:99.9, d:43.7}
ldB -> {user:"nameB", a:67.7, c:1.1 }
ldb -> {user:"nameC", a:89.9, b:77.3, c:2.2, d:6.5}
我已經通過了下面的鏈接,但它只返回名稱,但我想要名稱和值如上。
List of Dicts comparision to match between lists and detect value changes in Python
這裏沒有任意結構的層次差異,所以你需要寫基於你對數據的瞭解,一個更爲複雜的算法。 '用戶'是一個特殊的密鑰?是否用於在列表中的項目之間建立對應關係(假設'ldB'出現故障,結果應該如何)? – 2011-06-13 16:56:23
是的,這裏用戶特殊鍵 – newbe 2011-06-13 16:59:27
對於程序的其餘部分以及這裏,可能更有意義的是讓結構更像'ldA = {'userA':{'a':1,'b': 2,...},...}'。 – 2011-06-13 17:27:32