You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

字典列表中同limit_price条目合并及pending_quantity累加需求

字典列表去重与数量合并处理

需求说明

处理由字典组成的列表,完成两项操作:

  • 移除键值对完全重复的字典
  • 将limit_price相同的字典的pending_quantity累加合并

输入示例

[
    { "limit_price": 20.0, "pending_quantity": 2.0 },
    { "limit_price": 80.0, "pending_quantity": 2.0 },
    { "limit_price": 80.0, "pending_quantity": 2 }
]

期望输出

[
    { "limit_price": 20.0, "pending_quantity": 2.0 },
    { "limit_price": 80.0, "pending_quantity": 4.0 }
]

Python实现方案

通过临时字典分组累加,同时统一数量的数值类型,避免整数与浮点数差异导致的分组错误:

def merge_orders(order_list):
    price_quantity_map = {}
    for order in order_list:
        # 提取限价和待成交数量,统一转为浮点数
        limit_price = order["limit_price"]
        pending_qty = float(order["pending_quantity"])
        
        # 累加同限价的数量
        if limit_price in price_quantity_map:
            price_quantity_map[limit_price] += pending_qty
        else:
            price_quantity_map[limit_price] = pending_qty
    
    # 将映射转换回要求的列表格式
    return [{"limit_price": price, "pending_quantity": qty} for price, qty in price_quantity_map.items()]

# 测试代码
input_orders = [
    { "limit_price": 20.0, "pending_quantity": 2.0 },
    { "limit_price": 80.0, "pending_quantity": 2.0 },
    { "limit_price": 80.0, "pending_quantity": 2 }
]
result = merge_orders(input_orders)
print(result)

说明

这段代码会自动处理重复字典(重复字典的限价和数量一致,累加后数值翻倍),同时统一数量类型,确保整数、浮点数格式的同限价条目能正确合并,运行后即可得到符合要求的结果。

内容的提问来源于stack exchange,提问作者Muthumani18

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:45:35