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

如何通过Python函数实现字典多键同值的反向分组转换

代码问题说明

你原有代码存在以下几处错误:

  • 遍历对象错误,循环了刚创建的空字典new_dict,没有遍历传入的宾客兴趣字典interests
  • 变量名不匹配,循环中用v接收兴趣值,判断时用了未定义的value变量
  • 缩进错误,if分支下的逻辑没有正确缩进
  • 赋值逻辑错误,新字典的value是人名列表,需要追加人名而不是直接覆盖赋值为单个名字
  • 函数最后返回了空字典,没有返回构建好的new_dict

修正后的完整代码

interests = {
    'Sophia' : 'Computer',
    'Anders' : 'Dancing',
    'Mette' : 'Dancing', 
    'Hikari' : 'Computer',
    'Riko' : 'Rowing', 
    'Troels' : 'Rowing',
    'Sarah' : 'Rowing'
}

# 转换字典结构
def transform_dictionary(interests):
    new_dict = {}
    # 遍历传入的宾客兴趣字典,k是人名,v是对应的兴趣
    for k, v in interests.items():
        # 如果兴趣已经在新字典的key里,就把人名追加到对应的列表
        if v in new_dict:
            new_dict[v].append(k)
        # 如果兴趣不存在,就新建key,value是存了当前人名的列表
        else:
            new_dict[v] = [k]
    return new_dict

print(transform_dictionary(interests))

运行结果

输出完全符合要求:
{'Computer': ['Sophia', 'Hikari'], 'Dancing': ['Anders', 'Mette'], 'Rowing': ['Riko', 'Troels', 'Sarah']}


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:18:02