为了账号安全,请及时绑定邮箱和手机立即绑定

我怎样才能Python字典重复值并重建

我怎样才能Python字典重复值并重建

慕姐4208626 2023-09-02 16:23:07
我在 python 字典中遇到问题。我想要字典[原样]{'level_1_name': 'asset', 'level_2_name': 'search', 'usage_permission': 'CREATE'}{'level_1_name': 'asset', 'level_2_name': 'search', 'usage_permission': 'READ'}{'level_1_name': 'asset', 'level_2_name': 'search', 'usage_permission': 'EDIT'}{'level_1_name': 'server', 'level_2_name': 'keysearch', 'usage_permission': 'CREATE'}{'level_1_name': 'server', 'level_2_name': 'keysearch', 'usage_permission': 'DELETE'}[成为]{'level_1_name': 'asset', 'level_2_name': 'search', 'usage_permission': ['CREATE', 'READ', 'EDIT']}{'level_1_name': 'server', 'level_2_name': 'keysearch', 'usage_permission': ['CREATE', 'DELETE']}我能做些什么?请帮助我..
查看完整描述

1 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

使用简单的迭代。


前任:


data = [{'level_1_name': 'asset', 'level_2_name': 'search', 'usage_permission': 'CREATE'},

{'level_1_name': 'asset', 'level_2_name': 'search', 'usage_permission': 'READ'},

{'level_1_name': 'asset', 'level_2_name': 'search', 'usage_permission': 'EDIT'},

{'level_1_name': 'server', 'level_2_name': 'keysearch', 'usage_permission': 'CREATE'},

{'level_1_name': 'server', 'level_2_name': 'keysearch', 'usage_permission': 'DELETE'}]

result = {}

for i in data:

    if i['level_1_name'] not in result:

        result[i['level_1_name']] = {'usage_permission': [i.pop('usage_permission')], **i }

    else:

        result[i['level_1_name']]['usage_permission'].append(i['usage_permission'])

    

print(result)

输出:


{'asset': {'level_1_name': 'asset',

           'level_2_name': 'search',

           'usage_permission': ['CREATE', 'READ', 'EDIT']},

 'server': {'level_1_name': 'server',

            'level_2_name': 'keysearch',

            'usage_permission': ['CREATE', 'DELETE']}}


查看完整回答
反对 回复 2023-09-02
  • 1 回答
  • 0 关注
  • 70 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信