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

Python字典格式转换问题:将角色-人员字典转为指定结构列表

解决方案

给定原字典:

a = {'Role1':['G1','G2','G3','H1'],'Role2':['G5','G6','G0'],
'Role3':['G7','G8'],'Role4':['A5','A6','A0'],'Role5':['C5']}

方法一:列表推导式(简洁高效)

通过嵌套列表推导式直接完成结构转换:

result = [
    {'roles': role, 'people': [{'ppl': person} for person in people]}
    for role, people in a.items()
]

方法二:普通循环写法(直观易懂)

如果偏好分步实现,用多层循环完成:

result = []
# 遍历原字典的角色与对应人员列表
for role, people in a.items():
    person_list = []
    # 逐个处理人员,生成目标格式的字典
    for person in people:
        person_list.append({'ppl': person})
    # 将当前角色的完整数据加入结果列表
    result.append({'roles': role, 'people': person_list})

错误原因分析

你之前的代码仅保留首个人员,大概率是因为没有遍历整个人员列表,而是直接取了列表的第一个元素(比如people[0]),或是在构建people子列表时只添加了一次元素,未循环处理所有人员。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 08:25:58