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

如何扩展Python代码提取字典中唯一的非零键值对?

提取字典中唯一的非零键值对

要实现从字典里提取唯一的非零键值对(要求仅一个值非零,其余全为0),可以按以下逻辑修改代码:

  1. 先筛选出所有非零的键值对
  2. 验证筛选结果是否只有1个元素(满足需求的前提)
  3. 符合条件则返回该键值对,不符合则给出提示

具体代码实现:

test_dict = {'gfg': 0, 'is': 1, 'best': 0}

# 筛选所有非零的键值对
non_zero_pairs = {k: v for k, v in test_dict.items() if v != 0}

# 检查是否仅存在一个非零项
if len(non_zero_pairs) == 1:
    # 取出唯一的非零键值对,返回元组格式;若要字典格式则用dict([...])包裹
    result = next(iter(non_zero_pairs.items()))
    print(result)
    # 若需返回字典:print(dict([result]))
else:
    print("不符合要求:非零值数量不为1")

运行后输出:
('is', 1)
如果需要返回字典格式{'is': 1},将result的输出改为dict([result])即可。

逻辑说明

  • 字典推导式{k: v for k, v in test_dict.items() if v != 0}快速过滤掉值为0的项
  • next(iter(non_zero_pairs.items()))用于取出字典中唯一的键值对(Python 3.7+字典默认保留插入顺序,这里因只有一个元素,顺序不影响结果)
  • 长度判断是为了严格匹配需求:确保字典中确实只有一个非零值,避免出现多个非零或全零的异常情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:15:37