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

Python如何去除文本文件行号并提取右侧数值存入列表

现有实现存在的问题
  • 流程设计冗余低效:三个步骤完全割裂,依赖手动复制数据,极易出现操作失误,比如你第三步的numbers元组里已经出现了原文件不存在的11、12对应的数值,就是手动复制导致的错误
  • 数据提取逻辑错误:第一步拆分每行内容时,把行号和数值全部输出,后续处理把行号(1、2、3…)也当成了目标数值,最终结果会混入无关的行号数据
  • 存在无效逻辑:第二步读取main.py文件的操作和你的数据处理需求完全无关,属于多余步骤
  • 筛选逻辑混乱:第三步把行号转成float后,行号3、4本身也属于3-4的区间范围,会和你真正需要提取的数值混在一起,无法得到正确结果
正确实现方案

你的核心需求是从带行号的txt文件中提取第二列的浮点数值,排序后筛选出3到4之间的结果,全程可以自动处理,不需要任何手动操作:

res_list = []
# 替换为你的实际txt文件路径
with open('data.txt', 'r', encoding='utf-8') as f:
    for line in f:
        # 跳过空行
        stripped_line = line.strip()
        if not stripped_line:
            continue
        # 拆分后只取第二列的数值,丢弃行号
        _, num_str = stripped_line.split()
        res_list.append(float(num_str))

# 排序
sorted_res = sorted(res_list)
# 筛选3-4之间的数值,可根据需求调整是否包含边界
filtered_res = [x for x in sorted_res if 3 < x < 4]

print(filtered_res)

运行上述代码直接就能得到你要的结果,不会出现手动操作导致的错误,也不会混入行号数据。

内容的提问来源于stack exchange,提问作者Michał Galka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:06:03