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

编写按条件返回单一元素的函数,实现基于最低时间匹配对应姓名功能

function_2 实现方案

核心思路

利用已经实现的function_1计算每个name对应的时间,比对后返回时间最小的name即可。

实现代码

基础写法(可读性高,方便加自定义逻辑)

def function_2(number, data):
    # 初始化最小时间为无穷大,目标name为空
    min_time = float('inf')
    target_name = None
    # 遍历所有待比对的name,默认name为data字典的顶层键
    for name in data:
        current_time = function_1(name, number, data)
        # 匹配到更小时间就更新记录
        if current_time < min_time:
            min_time = current_time
            target_name = name
    return target_name

简洁写法(基于内置min函数)

直接用min的key参数指定比对规则,代码更精简:

def function_2(number, data):
    if not data:
        # 处理空输入场景,可根据需求调整返回值或抛出异常
        return None
    return min(data.keys(), key=lambda name: function_1(name, number, data))

注意事项

  • 上述代码默认data的顶层键就是所有需要参与比对的name值,如果你的data中name存储在其他层级,调整遍历的数据源即可。
  • 如果多个name对应相同的最小时间,代码会返回字典遍历顺序中第一个出现的name,Python3.7及以上版本字典默认保留插入顺序,低版本可自行调整排序逻辑。
  • 可以根据业务需要添加异常捕获逻辑,比如处理function_1计算报错的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:24:05