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

如何基于两个输入字典生成含二进制值的嵌套字典

可行实现方案

完全可以通过简单的字典遍历实现需求,逻辑完全匹配给出的赋值规则,还能对齐示例的键顺序。

实现逻辑

  • 遍历两个输入字典共有的外层键
  • 对每个外层键,优先录入字典1对应列表的元素,统一赋值为1,放在内层字典前部
  • 再录入字典2对应列表的元素,仅当元素不存在于当前内层字典时赋值为0,既不会覆盖字典1的同元素值,也能把字典2的元素放在内层字典后部
  • 最终汇总得到符合要求的输出字典

可直接运行的代码

# 输入字典
d1 = {'ad':['gf','tr','st'],'ft':['te','gr','mf']}
d2 = {'ad':['te','mr','lr','kr','er'],'ft':['ty','yr','qf','fg','jh']}

output = {}
# 遍历所有外层键(两个字典外层键完全一致)
for outer_key in d1.keys():
    inner_map = {}
    # 先处理d1的元素,赋值1
    for item in d1[outer_key]:
        inner_map[item] = 1
    # 再处理d2的元素,不存在的键才赋值0,避免覆盖d1的值
    for item in d2[outer_key]:
        if item not in inner_map:
            inner_map[item] = 0
    output[outer_key] = inner_map

# 打印验证结果
print(output)

运行结果

运行上述代码得到的输出和期望格式完全一致:

{
    'ad': {'gf': 1, 'tr': 1, 'st': 1, 'te': 0, 'mr': 0, 'lr': 0, 'kr': 0, 'er': 0},
    'ft': {'te': 1, 'gr': 1, 'mf': 1, 'ty': 0, 'yr': 0, 'qf': 0, 'fg': 0, 'jh': 0}
}

说明:该实现适配Python 3.7及以上版本(字典默认保留插入顺序),如果使用更早版本,字典键的展示顺序可能和示例有差异,但键值对应关系完全符合规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 00:57:15