本文共 1010 字,大约阅读时间需要 3 分钟。
在处理二维列表时,特别是当我们需要累加具有相同第一个值的元素时,字典(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, 13), (2, 3), (3, 4)]。
转载地址:http://yeafk.baihongyu.com/