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

如何从大型字典中提取仅包含键与GID的字典?

问题:将GID列表转为可按键访问的字典

需求说明

需要把从task_gid_dict中提取的GID整理成可通过键访问的字典,示例格式如下(修正了原示例的语法错误):

{0: ["23172371321", "123421412343"], 1: ["12312412214", "123124124"]}

GID可通过task_gid_dict[j][i]["gid"]获取,task_gid_dict的结构示例为:

{0: [{'gid': '1199729685867432', 'name': 'SAMPLE', 'resource_type': 'task', 'resource_subtype': 'default_task'}, ...]}

现有代码问题

原代码存在变量未初始化、循环逻辑混乱、变量名冲突、列表引用重复等问题,无法正确生成目标字典:

i = 0
j = 0
task_gid_dict_2 = {}
for i in range(len(task_gid_dict)):
    while True:
        try:
            task_gid.append(task_gid_dict[j][i]["gid"])
            i = i+1
        except:
            j = j+1
            break
    task_gid_dict_2[j] = task_gid
        
task_gid_dict_2

修正后的代码

直接遍历task_gid_dict的键值对,用列表推导式提取GID,简洁高效:

task_gid_dict_2 = {}
# 遍历原字典的每个键和对应的任务列表
for key, task_list in task_gid_dict.items():
    # 提取当前分组下的所有GID
    gid_list = [task["gid"] for task in task_list]
    task_gid_dict_2[key] = gid_list

额外代码修正

原额外代码存在索引错误、字典键重复覆盖的问题,修正后如下:

task_detail = {}
# 遍历新生成的GID字典
for key, gid_list in task_gid_dict_2.items():
    task_detail[key] = []
    for gid in gid_list:
        # 注意:字典参数中相同键会被覆盖,需使用不同键名
        task_info = client.tasks.get_task(gid, {'param1': 'value1', 'param2': 'value2'}, opt_pretty=True)
        task_detail[key].append(task_info)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:10:23