博客
关于我
Python sum 二维列表中具有相同第一个值的元素
阅读量:802 次
发布时间:2023-03-06

本文共 1010 字,大约阅读时间需要 3 分钟。

Python处理二维列表

在处理二维列表时,特别是当我们需要累加具有相同第一个值的元素时,字典(dict)是一个非常有效的数据结构。以下是一个Python实现的解决方案。

代码实现

def sum_elements(arrays):    sum_dict = {}    for array in arrays:        for element in array:            key = element[0]            value = element[1]            if key in sum_dict:                sum_dict[key] += value            else:                sum_dict[key] = value    return list(sum_dict.items())

测试用例

arrays = [[[1, 2], [3, 4]], [[2, 3], [1, 5]], [[1, 6]]]print(sum_elements(arrays))

输出结果

[(1, 8), (2, 5), (3, 4)]

解决方案说明

  • 字典的使用

    我们使用字典来存储每个具有相同第一个值的元素的累积和。字典的键是二维列表中每个子列表的第一个元素,值是该元素的累积和。

  • 遍历二维列表

    我们首先遍历输入的二维列表 arrays。对于每个子列表中的每个元素,提取其第一个值作为键,第二个值作为累积和。

  • 累加逻辑

    • 如果键(第一个值)已经存在于字典中,则将当前元素的值累加到对应的键值上。
    • 如果键不存在,则将键值对添加到字典中,并初始化值为当前元素的值。
  • 返回结果

    最终,函数返回一个包含所有键值对的列表。每个键值对包含具有相同第一个值的元素的累积和。

  • 测试结果解释

    在测试用例中,输入的二维列表 arrays 包含以下子列表:

    • [1, 2]:表示数字1出现了2次
    • [3, 4]:表示数字3出现了4次
    • [2, 3]:表示数字2出现了3次
    • [1, 5]:表示数字1出现了5次
    • [1, 6]:表示数字1出现了6次

    通过函数 sum_elements 处理后,返回结果如下:

    • 数字1的总和:2 + 5 + 6 = 13
    • 数字2的总和:3
    • 数字3的总和:4

    最终结果为 [(1, 13), (2, 3), (3, 4)]

    转载地址:http://yeafk.baihongyu.com/

    你可能感兴趣的文章
    python | awswrangler,一个高效的 Python 库!
    查看>>
    python | bashplotlib,一个有趣的Python库!
    查看>>
    python | bentoml,一个超级厉害的 模型部署 Python 库!
    查看>>
    python调用jar包的模块_python调用jar包
    查看>>
    python | black,一个神奇的 代码格式化工具 Python 库!
    查看>>
    python | bleach,一个超强的 Python 库!
    查看>>
    python | cartopy,一个有趣的 Python 库!
    查看>>
    python | cloud-init,一个实用的 云计算 Python 库!
    查看>>
    python | code2flow,一个神奇的 Python 库!
    查看>>
    python | cudf,一个超实用的 Python 库!
    查看>>
    python | daphne,一个非常nice的 Python 库!
    查看>>
    python调用halcon
    查看>>
    python | doit,一个非常实用的 Python 库!
    查看>>
    python | easyocr,一个超厉害的 关于OCR的 Python 库!
    查看>>
    python | fastFM,一个高级的 Python 库!
    查看>>
    python | feature_engine,一个实用的 Python 库!
    查看>>
    python | filelock,一个超酷的 Python 库!
    查看>>
    python | fire,一个强大的 Python 库!
    查看>>
    python | flanker,一个神奇的 Python 库!
    查看>>
    python | flower,一个强大的 Python 库!
    查看>>