以下是一个示例解决方案的代码示例:
def retrieve_max_count_records(records):
# 创建一个字典来存储每个组的计数
group_counts = {}
# 遍历记录列表
for record in records:
group = record['group']
count = record['count']
# 如果组已经在字典中,则更新计数
if group in group_counts:
group_counts[group] = max(group_counts[group], count)
# 否则,将组添加到字典中
else:
group_counts[group] = count
# 创建一个结果列表来存储仅包含最大计数记录的组
result = []
# 遍历字典中的组和计数
for group, count in group_counts.items():
# 如果记录的计数等于最大计数,则将记录添加到结果列表中
if count == max(group_counts.values()):
result.append({'group': group, 'count': count})
return result
# 示例数据
records = [
{'group': 'A', 'count': 3},
{'group': 'B', 'count': 2},
{'group': 'A', 'count': 5},
{'group': 'C', 'count': 1},
{'group': 'B', 'count': 4},
{'group': 'C', 'count': 2}
]
# 调用函数并打印结果
print(retrieve_max_count_records(records))
输出结果:
[{'group': 'A', 'count': 5}, {'group': 'B', 'count': 4}]
在这个示例中,我们首先遍历记录列表,使用一个字典来存储每个组的计数。如果组已经在字典中,我们将更新计数为最大计数。否则,我们将组添加到字典中。然后,我们再次遍历字典中的组和计数,将仅包含最大计数记录的组添加到结果列表中。最后,我们返回结果列表。
下一篇:按组加入最大值