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

如何从字典值的字符串内容中提取多个数字的最小值

错误原因

你当前的代码没有实现最小值对比逻辑,只是在遍历数字时每次都将exp_min覆盖为当前遍历到的数字,最终只会保留最后一个匹配到的数字8,和需求完全不符。

修正方案

直接调用Python内置的min()函数取提取到的数字列表的最小值即可,修正后代码如下:

import re

sample_dict = {'job_exp': ('3yrs', '5 years', 'Experience range 7-8 Years')}
# 拼接所有字符串后提取数字转为整数列表
all_nums = list(map(int, re.findall(r"\d+", "".join(sample_dict["job_exp"]))))
# 取列表最小值
exp_min = min(all_nums)
print(exp_min)

运行上述代码会输出预期结果3。

如果你需要手动用循环实现最小值计算,可以使用如下写法:

import re

sample_dict = {'job_exp': ('3yrs', '5 years', 'Experience range 7-8 Years')}
all_nums = list(map(int, re.findall(r"\d+", "".join(sample_dict["job_exp"]))))
# 初始化最小值为列表第一个元素
exp_min = all_nums[0]
for num in all_nums:
    # 只有当前数字比已记录的最小值更小才更新
    if num < exp_min:
        exp_min = num
print(exp_min)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:48:03