标题表达得不太好,直接上需求:
有这样一个数组:
role_list = ([
{role_id: 1, role_name: 'admin', 'authority': 'create_staff'},
{role_id: 1, role_name: 'admin', 'authority': 'delete_staff'},
{role_id: 1, role_name: 'admin', 'authority': 'read_staff'},
{role_id: 2, role_name: 'manager', 'authority': 'read_staff'},
{role_id: 2, role_name: 'manager', 'authority': 'delete_staff'},
{role_id: 3, role_name: 'staff', 'authority': 'read_staff'}
])
现在我想将role_list中role_id和role_name字段相同的dict聚合成一个dict,authority字段全部聚合成该dict的一个新数组类型字段,然后再组成新的list
希望得到的结果:
new_role_list = ([
{role_id: 1, role_name: 'admin', 'authority': ['create_staff','delete_staff','read_staff']},
{role_id: 2, role_name: 'manager', 'authority': ['read_staff','delete_staff']},
{role_id: 3, role_name: 'staff', 'authority': ['read_staff']}
])
请教各位有什么比较高效的实现方法?