假设有一个包含以下数据的对象列表:
list_of_objects = [
{'id': 1, 'name': 'John', 'group': 'A'},
{'id': 2, 'name': 'Jane', 'group': 'B'},
{'id': 3, 'name': 'Bob', 'group': 'B'},
{'id': 4, 'name': 'Alice', 'group': 'A'},
{'id': 5, 'name': 'Charlie', 'group': 'C'}
]
我们想要将其转换为具有嵌套对象列表的对象,其中每个对象表示一个组,包含该组中的所有人员。例如:
transformed_object = {
'A': [{'id': 1, 'name': 'John'}, {'id': 4, 'name': 'Alice'}],
'B': [{'id': 2, 'name': 'Jane'}, {'id': 3, 'name': 'Bob'}],
'C': [{'id': 5, 'name': 'Charlie'}]
}
我们可以使用Python中的字典和列表组合来实现这个转换。下面是示例代码:
# 遍历对象列表并转换为具有嵌套对象列表的对象
def transform_object_list(list_of_objects):
transformed_object = {}
for obj in list_of_objects:
group = obj['group']
del obj['group']
if group not in transformed_object:
transformed_object[group] = []
transformed_object[group].append(obj)
return transformed_object
# 打印转换后的对象
print(transform_object_list(list_of_objects))
输出:
{
'A': [{'id': 1, 'name': 'John'}, {'id': 4, 'name': 'Alice'}],
'B': [{'id': 2, 'name': 'Jane'}, {'id': 3, 'name': 'Bob'}],
'C': [{'id': 5, 'name': 'Charlie'}]
}