You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何判断带键值对的字典是否为另一个字典的子集

问题原因分析
  • 你原代码的判断逻辑用了==判断值相等,不符合需求里「小于等于」的要求
  • 你给出的示例数据本身就不满足子集条件:resources字典中键x对应的值为2,available_resources中键x对应的值为1,2>1,所以判断结果本来就应为False
正确实现方案

你可以用如下代码实现需求:

def is_resource_subset(resources, available_resources):
    return all(
        key in available_resources and val <= available_resources[key]
        for key, val in resources.items()
    )
逻辑说明
  • 遍历resources的所有键值对,逐个校验两个条件:
    1. 当前键在available_resources中存在
    2. resources中当前键对应的值小于等于available_resources中同键的值
  • all()函数会在所有键值对都满足上述两个条件时返回True,只要有一个不满足就返回False,完全匹配你的需求
  • 你可以测试把resources['x']修改为1,此时所有键值对都满足要求,函数会返回True

内容的提问来源于stack exchange,提问作者Suleyman Kiani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:27:00