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

如何从字符串的每一行中提取整数并将其保存到列表中?

你的原有思路存在两处问题,无法实现需求:

  • 用split()默认按空白拆分的逻辑,把同一行内表示同一个数值的544和000拆成了两个独立元素,000转换为整数后得到0,自然无法得到合并后的544000这类结果
  • 第三行的数值前后带有特殊字符‘和.,isdigit()判断会返回False,导致7000完全没有被提取到

修复后的实现代码

推荐优先使用按行处理的方案,更贴合你每行对应一个整数的需求,稳定性更高:

numbers = []
# 先按换行符拆分原始字符串,逐行处理
for line in data.splitlines():
    # 提取当前行所有数字字符,拼接为完整的数字字符串
    digit_str = ''.join([char for char in line if char.isdigit()])
    if digit_str:
        numbers.append(int(digit_str))

print(numbers)
# 输出:[544000, 600000, 7000]

如果不需要严格对应行的顺序,也可以用正则快速提取:

import re
# 先移除所有空格,再匹配所有连续的数字串
processed_data = data.replace(' ', '')
numbers = [int(num) for num in re.findall(r'\d+', processed_data)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:42:03