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

如何对比字典列表,按产品分组取指定键的最大最小值并计算差值

交易数据极值计算解决方案

实现代码(Python)

# 原始交易数据
trade_data = [
    {'time': '2021-11-25T09:27:29.969484Z', 'product_symbol': 'ABCD', 'price': -5.9887999999999995, 'team': 'Csk'},
    {'time': '2021-11-25T09:28:11.371546Z', 'product_symbol': 'ABCD', 'price': -3.0239, 'team': 'Mi'},
    {'time': '2021-11-25T09:29:29.854840Z', 'product_symbol': 'ABCD', 'price': -8.273820066171476, 'team': 'rcb'},
    {'time': '2021-11-25T09:30:35.803968Z', 'product_symbol': 'ABCD', 'price': -6.96, 'team': 'dc'},
    {'time': '2021-11-25T09:31:28.967498Z', 'product_symbol': 'ABCD', 'price': -5.9887999999999995, 'team': 'csk'},
    {'time': '2021-11-25T09:32:12.905123Z', 'product_symbol': 'XYZ', 'price': -3.0239, 'team': 'Mi'},
    {'time': '2021-11-25T09:27:05.320127Z', 'product_symbol': 'XYZ', 'price': 4.3959, 'team': 'Mi'},
    {'time': '2021-11-25T09:27:52.602959Z', 'product_symbol': 'XYZ', 'price': 1.5423, 'team': 'Dc'},
    {'time': '2021-11-25T09:28:36.802078Z', 'product_symbol': 'XYZ', 'price': 6.514124954262218, 'team': 'csk'},
    {'time': '2021-11-25T09:30:05.360497Z', 'product_symbol': 'XYZ', 'price': 1.76, 'team': 'Mi'},
    {'time': '2021-11-25T09:31:04.167415Z', 'product_symbol': 'XYZ', 'price': 4.3959, 'team': 'Csk'},
    {'time': '2021-11-25T09:31:53.907419Z', 'product_symbol': 'XYZ', 'price': 1.5423, 'team': 'Mi'}
]

# 按产品代码分组存储价格
product_price_map = {}
for record in trade_data:
    symbol = record['product_symbol']
    if symbol not in product_price_map:
        product_price_map[symbol] = []
    product_price_map[symbol].append(record['price'])

# 计算并输出结果(保留两位小数,差值计算逻辑与示例一致:最小值-最大值)
for symbol, price_list in product_price_map.items():
    min_p = round(min(price_list), 2)
    max_p = round(max(price_list), 2)
    diff = round(min_p - max_p, 2)
    # 中文输出
    print(f"产品代码 : {symbol}")
    print(f"最小值 : {min_p}")
    print(f"最大值 : {max_p}")
    print(f"差值 : {diff}")
    print("-" * 20)

输出结果

产品代码 : ABCD
最小值 : -8.27
最大值 : -3.02
差值 : -5.25
--------------------
产品代码 : XYZ
最小值 : -3.02
最大值 : 6.51
差值 : -9.53
--------------------

注:示例中ABCD差值为-5.23是精度取舍差异,本方案采用统一保留两位小数的计算规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:15:02