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

Python函数追加列表值错误且无法适配任意用户部门如何解决

问题原因
  • 部门匹配逻辑错误:你没有关联当前遍历的部门和用户的所属关系,而是每次都硬编码判断用户是否在local/public/administrator三个固定部门里。admin用户本身就属于local部门,所以每次循环到admin(总共三次,分别对应local、public、administrator三个部门的用户列表)时,第一个if判断永远成立,只会追加local字符串,导致最终出现三个重复的local。
  • 硬编码逻辑限制扩展性:提前固定了三个用户的键,也固定了三个部门的判断逻辑,只要输入里有新的用户或者部门,代码就会报错或者逻辑失效。
修复方案

直接遍历「部门-用户列表」的键值对,遇到用户不存在时先在结果字典里初始化空列表,再把当前部门追加到对应用户的部门列表里即可,适配任意输入:

def groups_per_user(group_dictionary):
    user_groups = {}
    # 遍历每个部门和对应的用户列表
    for dept, users in group_dictionary.items():
        for user in users:
            # 用户不存在就先初始化空列表
            if user not in user_groups:
                user_groups[user] = []
            # 把当前部门加入用户的所属部门列表
            user_groups[user].append(dept)
    return user_groups

# 测试用例
print(groups_per_user({"local": ["admin", "userA"],
        "public":  ["admin", "userB"],
        "administrator": ["admin"] }))

运行后输出和预期完全一致:

{'admin': ['local', 'public', 'administrator'], 'userA': ['local'], 'userB': ['public']}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 20:39:03