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

Python实现两个数字文本文件逐行逐元素比对的最简方法咨询

Python实现文本文件逐元素比对的最简方案

核心思路是先把比对基准文件file2的所有行转成数字列表缓存,再遍历file1逐行做匹配校验,全程使用Python内置函数实现,无需安装第三方依赖:

# 缓存file2所有行的数字序列
with open("file2.txt", encoding="utf-8") as f:
    f2_rows = [list(map(int, line.strip().split())) for line in f if line.strip()]

# 遍历file1逐行匹配
with open("file1.txt", encoding="utf-8") as f:
    for raw_line in f:
        line = raw_line.strip()
        if not line:
            continue
        f1_row = list(map(int, line.split()))
        # 短路判断:只要存在任意一行f2满足所有元素差值≤10就输出
        if any(all(abs(a-b) <= 10 for a,b in zip(f1_row, f2_row)) for f2_row in f2_rows):
            print(line)

逻辑说明

  • all() 用来校验单组比对的所有位置元素是否都满足差值要求,只要有一个位置不符合就会提前终止当前组的校验
  • any() 用来判断当前file1行是否和任意一行file2匹配,匹配到符合要求的行就会提前终止校验,性能更高
  • 运行你给出的示例输入时,代码会直接输出10 20 30,和预期结果完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:15:05