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

Python获取嵌套字典最小数值1.12498触发TypeError如何解决

错误原因

你编写的代码直接对最外层的data字典取最小值,该字典的三个键对应的值分别为字符串类型的交易对、字符串类型的时间粒度、列表类型的K线数据,Python不支持字符串与列表直接比较大小,因此触发TypeError报错。

解决方法

你需要的最小数值1.12498存储在K线列表的mid字段的最低价格(l)中,可通过遍历K线列表提取对应数值后求最小值,示例代码如下:

# 方法1:直接提取所有mid的最低价格求最小值
all_mid_lows = [float(candle['mid']['l']) for candle in data['candles']]
lowest_value = min(all_mid_lows)
print(lowest_value) # 输出 1.12498

如果你需要同时获取最小值对应的完整K线信息,可以用以下写法:

# 方法2:获取最小值对应的完整K线数据
lowest_candle = min(data['candles'], key=lambda item: float(item['mid']['l']))
# 打印最小值
print(lowest_candle['mid']['l'])
# 打印该K线对应的时间
print(lowest_candle['time'])

如果你需要遍历bid、mid、ask下的所有价格字段(开盘、最高、最低、收盘)找全局最小值,可以用以下写法:

# 方法3:遍历所有价格字段找全局最小值
all_prices = []
for candle in data['candles']:
    for price_category in ['bid', 'mid', 'ask']:
        for price_field in ['o', 'h', 'l', 'c']:
            all_prices.append(float(candle[price_category][price_field]))
global_lowest = min(all_prices)
print(global_lowest)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:06:03