比较python中的字典集

2024-09-27 21:28:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我对比较两组字典很感兴趣,我知道要做到这一点,字典必须是可散列的(可能是使用冻结集),但是,有什么好方法可以比较散列字典键呢?在

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)

在这里,我如何将实际集合与散列设备进行比较?在


Tags: 方法dev字典nullexpecteddevicessetactual
1条回答
网友
1楼 · 发布于 2024-09-27 21:28:35

如果你只想找出两个字典是否相同,那四个字典给出了最好的答案:dict1 == dict2。在

如果您想找出两个字典之间的区别,可以尝试set的symmetric_difference()操作。例如

dict1 = {'a':1, 'b':2, 'c':3}
dict2 = {'b':2, 'c':3, 'd':4}

set1 = set(dict1.items())
set2 = set(dict2.items())

set1.symmetric_difference(set2)将向您显示一个新的集合,该集合包含dict1或dict2中的(key,value)对,但不能同时出现在dict1或dict2中,这里是set([('a', 1), ('d', 4)])。在

顺便说一下,您可以很容易地使用dict()将其转换为包含dict1和dict2的差异的字典。在

相关问题 更多 >

    热门问题