我对比较两组字典很感兴趣,我知道要做到这一点,字典必须是可散列的(可能是使用冻结集),但是,有什么好方法可以比较散列字典键呢?在
actual_set = [{
'Cgroups': 'rwm',
'PathInContainer': '/dev/xnull',
'PathOnHost': '/dev/null'
}]
d = {
'Cgroups': 'rwm',
'PathInContainer': '/dev/xnull',
'PathOnHost': '/dev/null'
}
hashed_devices = frozenset(expected_devices.items())
for key in hashed_devices:
# assert actual_Set == set(hashed_Devices)
在这里,我如何将实际集合与散列设备进行比较?在
如果你只想找出两个字典是否相同,那四个字典给出了最好的答案:
dict1 == dict2
。在如果您想找出两个字典之间的区别,可以尝试set的symmetric_difference()操作。例如
set1.symmetric_difference(set2)
将向您显示一个新的集合,该集合包含dict1或dict2中的(key,value)对,但不能同时出现在dict1或dict2中,这里是set([('a', 1), ('d', 4)])
。在顺便说一下,您可以很容易地使用dict()将其转换为包含dict1和dict2的差异的字典。在
相关问题 更多 >
编程相关推荐