对这个python字典示例有点困惑

2024-10-01 19:30:14 发布

您现在位置:Python中文网/ 问答频道 /正文

data = [{'name':'Albert','rel':'Head','unique_number': 101},
        {'name':'Sheen','rel':'Head','unique_number': 201},
        {'name':'Peter','rel':'Son','unique_number': 101},
        {'name':'Chloe','rel':'Daughter','unique_number': 101}]

你能帮我获取这样的数据吗?根据唯一的_编号进行过滤

updated_data = [
                 {'house_head':'Albert','members':['Peter','Chloe']},
                 {'house_head':'Sheen','members':[]}
            ]

Tags: namenumberdataheadpeterhouserelunique
1条回答
网友
1楼 · 发布于 2024-10-01 19:30:14

以下方面应起作用:

numbers=set([i['unique_number'] for i in data])
dict={i:{'Head':'', 'members':[]} for i in numbers}
for i in data:
    if i['rel']=='Head':
        dict[i['unique_number']]['Head']=i['name']
    else:
        dict[i['unique_number']]['members'].append(i['name'])
new_data=[{'house_head':dict[i]['Head'], 'members':dict[i]['members']} for i in dict]

相关问题 更多 >

    热门问题