2016-06-10 24 views
0

我有2個python字典......我目前正在檢查它們是否匹配。但是,我如何從項目中獲取不匹配的鍵和值並將其存儲?比較python字典並存儲它們時獲取不匹配的數據

data1 = {'first_name': 'John', 'last_name': 'Doe', 'username': 'johndoe'} 
data2 = {'first_name': 'John', 'last_name': 'Doe', 'username': 'johohoho'} 

for (key, value) in set(data1.items()) & set(data2.items()): 
     print(key, value) 
# this returns only matching data. how can i grab the non matched? 

非常感謝您的幫助!

+0

你應該在這裏讀了欺騙的其他答案[比較Python中的兩個字典](http://stackoverflow.com/q/4527942)另外,不只是第一個:) –

+0

對不起,我沒有看到任何實例的重複刪除@BhargavRao – Modelesq

+2

xor應該做的? '^' – dnit13

回答

1

您可以使用非匹配條目XOR就像你正趕上匹配的條目:

>>> for (key, value) in set(data1.items())^set(data2.items()): 
...   print(key, value) 
... 
('username', 'johndoe') 
('username', 'johohoho') 

注:這不會嵌套的字典工作

+0

真棒謝謝你! – Modelesq

相關問題