【Python】字典比較差異總結


比較字典差異

dict1 = {'a':1,'b':2,'c':3,'d':4}
dict2 = {'a':1,'b':2,'c':5,'e':6}
 
differ = set(dict1.items()) ^ set(dict2.items())

# 所有差異
print(differ)  # {('c', 3), ('e', 6), ('c', 5), ('d', 4)}
print('---------')
# 共有的key
diff = dict1.keys() & dict2
print(diff)
print('-------------------')
# 相同key,不同value
diff_vals = [(k, dict1[k], dict2[k]) for k in diff if dict1[k] != dict2[k]]
print(diff_vals)  # [('c', 3, 5)]
print('-----------')
a = {'x': 1, 'y': 2, 'z': 3}
b = {'x': 1, 'w': 11, 'z': 12}
# 以列表返回可遍歷的(鍵, 值) 元組數組
print(a.items())  # dict_items([('x', 1), ('y', 2), ('z', 3)])
# 查看兩個字典共有的key
print(a.keys() & b.keys())  # {'x', 'z'}
# 查看字典a 和字典b 的不共有的key
print(a.keys() ^  b.keys()) # {'y', 'w'}
# 查看在字典a里面而不在字典b里面的key
print(a.keys() - b.keys())  # {'y'}
# 查看字典a和字典b相同的鍵值對
print(a.items() & b.items()) # {('x', 1)}

 

總結:相同  &,不同 ^,在(被減數) -不在(減數)

 

參考:https://www.cnblogs.com/robinunix/p/10919783.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM