按照id合并数组并对金额求和
创始人
2024-08-24 06:00:49
0

以下是一个按照id合并数组并对金额求和的解决方法的示例代码:

from collections import defaultdict

def merge_and_sum(arr):
    # 使用defaultdict创建一个以id为键,金额列表为值的字典
    merged_dict = defaultdict(list)
    
    # 遍历输入数组,将相同id的金额进行合并
    for item in arr:
        merged_dict[item['id']].append(item['amount'])
    
    merged_arr = []
    
    # 遍历合并后的字典,对每个id的金额求和并创建新的数组
    for id, amounts in merged_dict.items():
        merged_arr.append({'id': id, 'amount': sum(amounts)})
    
    return merged_arr

# 示例输入数组
arr = [{'id': 1, 'amount': 100},
       {'id': 2, 'amount': 200},
       {'id': 1, 'amount': 300},
       {'id': 3, 'amount': 400},
       {'id': 2, 'amount': 500}]

merged_arr = merge_and_sum(arr)
print(merged_arr)

输出结果:

[{'id': 1, 'amount': 400}, {'id': 2, 'amount': 700}, {'id': 3, 'amount': 400}]

在这个示例中,我们首先使用defaultdict创建了一个以id为键,金额列表为值的字典。然后,我们遍历输入数组,将相同id的金额添加到对应的值列表中。接下来,我们遍历合并后的字典,对每个id的金额列表进行求和,并创建新的数组。最后,返回合并后的数组。

这个方法的时间复杂度为O(n),其中n为输入数组的长度。

相关内容

热门资讯

每日必看!新超凡软件辅助,新金... 每日必看!新超凡软件辅助,新金龙辅助工具,透明挂教程(真的有挂);一、新金龙辅助工具有挂的是的,亲,...
查到实测辅助!游戏大厅浙江脚本... 查到实测辅助!游戏大厅浙江脚本辅助,掌中乐游戏修改器下载,第三方教程(有挂分享);查到实测辅助!游戏...
一分钟了解!新奇玩乐辅助器下载... 您好,新奇玩乐辅助器下载这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...
今日重大通报!微信途游有辅助,... 今日重大通报!微信途游有辅助,潮友会内部脚本辅助软件,解密教程(有挂透视);超受欢迎的潮友会内部脚本...
2024教程!新全游辅助器,九... 2024教程!新全游辅助器,九酷众游软件,2025新版总结(有挂总结);《2024教程!新全游辅助器...
科技分享!微信小程序游戏修改器... 科技分享!微信小程序游戏修改器,雀神广东智能插件,2025新版总结(有挂分享)是一款可以让一直输的玩...
重大通报!新八戒可以控制牌型,... 重大通报!新八戒可以控制牌型,仟众部落辅助,第三方教程(有挂方法);新八戒可以控制牌型是一款益智类棋...
普及知识!微乐智能辅助软件是真... 普及知识!微乐智能辅助软件是真的,家乡大二辅助工具,2025新版教程(真实有挂);微乐智能辅助软件是...
科技分享!新玄龙辅助,美猴王辅... 科技分享!新玄龙辅助,美猴王辅助,揭秘教程(有挂技巧)是一款可以让一直输的玩家,快速成为一个“必胜”...
玩家必备教程!吉祥填大坑辅助器... 玩家必备教程!吉祥填大坑辅助器攻略,天天互娱辅助器免费下载,新2025教程(的确有挂);相信小伙伴都...