gpt4 book ai didi

python - 仅查找几个字典的公共(public)键值对 : dict intersection

转载 作者:太空狗 更新时间:2023-10-29 17:53:59 26 4
gpt4 key购买 nike

我在列表中有 0 个或多个 dict:

>>> dicts = [dict(a=3, b=89, d=2), dict(a=3, b=89, c=99), dict(a=3, b=42, c=33)]

我想创建一个新字典,它只包含所有上述字典中的键,并且只有当值都相同时:

>>> dict_intersection(*dicts)
{"a": 3}

我觉得应该有一种优雅的方式来编写dict_intersection,但我自己只是提出了不优雅和/或低效的解决方案。

最佳答案

>>> dict(set.intersection(*(set(d.iteritems()) for d in dicts)))
{'a': 3}

注意:除了键之外,此解决方案还要求字典值是可散列的。

关于python - 仅查找几个字典的公共(public)键值对 : dict intersection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9906944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com