栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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的注释更改了定义。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/646579.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号