Python-从另一个字典中减去字典

Python-从另一个字典中减去字典,第1张

Python-从另一个字典减去字典

这样的通用方法可能会有很多陷阱,但是如果您的词典主要是原始的,而且不庞大,则可以执行以下 *** 作:

假设您的数据如下所示:

networks = [        {'address': '192.168.1.1'},        {'address': '127.0.0.1'},    ]missing = [        {'address': '127.0.0.1'}    ]

您可以将字典列表转换为列表元组(可散列)

def make_hashable(d):    return (frozenset(x.iteritems()) for x in d)networks_hashable = make_hashable(networks)missing_hashable = make_hashable(missing)

然后减去

diff = set(networks_hashable).difference(missing_hashable)

现在您有了一个元组列表

print list(diff)

或者,转换回字典

print [dict(x) for x in diff]

更新资料

我已经

make_hashable
基于@gnibbler的注释更改了定义。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648778.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存