按键分组数据,并返回一个包含另一个键的总值的新对象。
创始人
2024-11-02 12:31:34
0

以下是一个示例代码,用于按键分组数据并返回一个包含另一个键的总值的新对象:

def group_data(data_list, key1, key2):
    grouped_data = {}

    for data in data_list:
        group_key = data[key1]
        value = data[key2]

        if group_key in grouped_data:
            grouped_data[group_key] += value
        else:
            grouped_data[group_key] = value

    return grouped_data

# 示例数据
data_list = [
    {'group': 'A', 'value': 10},
    {'group': 'A', 'value': 5},
    {'group': 'B', 'value': 7},
    {'group': 'B', 'value': 3},
    {'group': 'C', 'value': 8},
    {'group': 'C', 'value': 2}
]

# 按 'group' 键分组,计算 'value' 的总和
grouped_data = group_data(data_list, 'group', 'value')

print(grouped_data)  # 输出: {'A': 15, 'B': 10, 'C': 10}

在这个例子中,group_data 函数接受一个包含字典的列表 data_list,并按给定的键 key1 进行分组。它遍历 data_list 中的每个字典,根据 key1key2 获取分组键和值。然后,它将值添加到 grouped_data 字典中的相应分组键中。如果分组键已经存在,则将值累加到已有的总值上;否则,创建一个新的键值对。

最后,grouped_data 字典包含了按给定键分组的数据,并且每个分组的值是根据给定的另一个键计算得出的总和。在上面的示例中,输出结果为 {'A': 15, 'B': 10, 'C': 10}

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...