以下是一个示例代码,用于将对象数组按照按键组合分组:
def group_objects_by_key(objects, key):
groups = {} # 用于存储分组结果的字典
for obj in objects:
obj_key = obj.get(key) # 获取对象的按键值
if obj_key in groups:
groups[obj_key].append(obj) # 将对象添加到对应的分组中
else:
groups[obj_key] = [obj] # 创建一个新的分组并添加对象
return groups
# 示例用法
objects = [
{'name': 'Alice', 'age': 25, 'gender': 'female'},
{'name': 'Bob', 'age': 30, 'gender': 'male'},
{'name': 'Charlie', 'age': 35, 'gender': 'male'},
{'name': 'Dave', 'age': 25, 'gender': 'male'},
{'name': 'Eve', 'age': 30, 'gender': 'female'}
]
key = 'age' # 按照年龄进行分组
groups = group_objects_by_key(objects, key)
print(groups)
运行以上代码将输出以下结果:
{
25: [{'name': 'Alice', 'age': 25, 'gender': 'female'}, {'name': 'Dave', 'age': 25, 'gender': 'male'}],
30: [{'name': 'Bob', 'age': 30, 'gender': 'male'}, {'name': 'Eve', 'age': 30, 'gender': 'female'}],
35: [{'name': 'Charlie', 'age': 35, 'gender': 'male'}]
}
该示例代码中的group_objects_by_key
函数接受两个参数:objects
是对象数组,key
是用来组合分组的按键。函数首先创建一个空字典groups
来存储分组结果。然后遍历每个对象,获取对象的按键值,并根据按键值将对象添加到对应的分组中。最后返回分组结果。
下一篇:按较低级别项排序多层对象