python判断两个字典是否相同

Python自带的数据结构dict非常好用,之前不知道怎么比较2个字典是否相同,做法是一个一个key比较过去。

现在想到可以直接用==进行判断!!!

a = dict(one=1, two=2, three=3)
b = {'one': 1, 'two': 2, 'three': 3}
c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
d = dict([('two', 2), ('one', 1), ('three', 3)])
e = dict({'three': 3, 'one': 1, 'two': 2})
print(a == b == c == d == e)

 

Python内部对==进行了重载,帮你实现了对key和value进行判断。

怎样在两个字典中寻找相同点(比如相同的键、相同的值等)?

解决方案

考虑下面两个字典:

a = {
  'x' : 1,
  'y' : 2,
  'z' : 3
}

b = {
  'w' : 10,
  'x' : 11,
  'y' : 2
}

 

寻找两个字典的相同点,可以在两字典的 keys()或者 items() 方法返回结果上执行集合操作。例如:

# Find keys in common
a.keys() & b.keys() # Return { 'x', 'y' }

# Find keys in a that are not in b
a.keys() - b.keys() # Return { 'z' }

# Find (key,value) pairs in common
a.items() & b.items() # Return { ('y', 2) }

 

posted on 2024-11-04 09:08  阿陶学长  阅读(19)  评论(0编辑  收藏  举报