以下是一个示例代码,用于按组返回具有最高属性值的数组对象:
def get_max_objects_by_group(objects, group_key, value_key):
max_objects = {}
for obj in objects:
group = obj[group_key]
value = obj[value_key]
if group in max_objects:
if value > max_objects[group][value_key]:
max_objects[group] = obj
else:
max_objects[group] = obj
return list(max_objects.values())
使用示例:
objects = [
{"group": "A", "value": 10},
{"group": "A", "value": 20},
{"group": "B", "value": 15},
{"group": "B", "value": 30},
{"group": "C", "value": 25},
]
max_objects = get_max_objects_by_group(objects, "group", "value")
print(max_objects)
输出:
[{'group': 'A', 'value': 20}, {'group': 'B', 'value': 30}, {'group': 'C', 'value': 25}]
该示例代码中的get_max_objects_by_group
函数接受一个包含对象的列表objects
,group_key
表示分组的属性键名,value_key
表示值的属性键名。函数会遍历每个对象,根据分组属性来存储具有最高值的对象。最后,将所有最大值对象以列表的形式返回。
上一篇:按组返回计数为0。
下一篇:按组返回空的数据框并没有错误