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

如何用Python获取自定义类对象字典中最小time_delta对应的键值?

获取字典中time_delta最小的键与SoftMatch对象

当然可以用Python的min()函数直接实现,甚至不需要字典推导式——如果只是要单个最小项的话,min()是最直接高效的方式:

方法一:直接获取最小键值对

利用softmatches.items()获取所有键值对,通过key参数指定比较依据为SoftMatch实例的time_delta属性:

# 获取包含最小time_delta的键值对元组
min_pair = min(softmatches.items(), key=lambda item: item[1].time_delta)
# 解包得到键和对应的对象
min_key, min_obj = min_pair

print(min_key)    # 输出: Nikon
print(min_obj.time_delta)  # 输出: 1

如果只需要单独获取键或对象,也可以针对性处理:

  • 只获取最小对象:min(softmatches.values(), key=lambda obj: obj.time_delta)
  • 只获取最小键:min(softmatches, key=lambda k: softmatches[k].time_delta)

方法二:用字典推导式筛选所有最小项(多匹配场景)

如果存在多个SoftMatch实例的time_delta同为最小值的情况,用字典推导式可以筛选出所有符合条件的键值对:

# 先获取最小的time_delta值
min_time = min(obj.time_delta for obj in softmatches.values())
# 筛选出所有time_delta等于最小值的项
min_items = {key: obj for key, obj in softmatches.items() if obj.time_delta == min_time}

# 输出所有符合条件的键值对
print(min_items)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:55:16