假设我们有以下对象列表:
obj_list = [
{'name': 'Alice', 'age': 24},
{'name': 'Bob', 'age': 25},
{'name': 'Charlie', 'age': 30},
{'name': 'Alice', 'age': 28},
{'name': 'Bob', 'age': 29},
{'name': 'Charlie', 'age': 25},
]
现在我们想要按名字将这些对象聚合到一个地图中,以便我们可以按名字查询它们。解决问题的方法是使用Python中的字典。
grouped_objs = {}
for obj in obj_list:
name = obj['name']
if name not in grouped_objs:
grouped_objs[name] = []
grouped_objs[name].append(obj)
这将生成以下地图:
{
'Alice': [{'name': 'Alice', 'age': 24}, {'name': 'Alice', 'age': 28}],
'Bob': [{'name': 'Bob', 'age': 25}, {'name': 'Bob', 'age': 29}],
'Charlie': [{'name': 'Charlie', 'age': 30}, {'name': 'Charlie', 'age': 25}]
}
现在我们可以按名字查询这个地图,并找到相应的对象:
>>> grouped_objs['Alice']
[{'name': 'Alice', 'age': 24}, {'name': 'Alice', 'age': 28}]
>>> grouped_objs['Bob']
[{'name': 'Bob', 'age': 25}, {'name': 'Bob', 'age': 29}]
上一篇:按键计算数组值
下一篇:按键类型解构json