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

如何实现处理字符串格式数字列表并返回最值的Python函数?

字符串数字列表的最大最小值提取问题解决

你的代码存在几个关键问题,导致无法得到预期结果:

  • 未解除注释定义变量n,直接使用会触发未定义错误
  • 将替换逗号后的字符串直接转为float是错误的,因为这是多个数字组成的字符串,无法直接转为单个浮点数
  • min()和max()函数需要作用在可迭代的数字集合上,不能对单个浮点数调用

修正后的代码

def high_and_low(numbers):
    # 按空格分割字符串,得到单个数字的字符串列表
    num_strs = numbers.split()
    # 转换为整数列表(需支持小数则替换为float)
    nums = [int(s) for s in num_strs]
    # 获取最大、最小值并格式化为目标字符串
    return f"{max(nums)} {min(nums)}"

# 测试示例
print(high_and_low("8 3 -5 42 -1 0 0 -9 4 7 4 -4"))  # 输出:42 -9

关键修正说明

  • 使用split()方法直接按空格分割输入字符串,无需手动替换逗号,更简洁可靠
  • 通过列表推导式将每个数字字符串转换为整数(或浮点数),生成可迭代的数字集合
  • 对数字集合调用max()和min()即可正确获取最值
  • 采用f-string格式化返回结果,语法更直观易读

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 21:15:59