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

如何用Python嵌套循环从TXT文件中查找6位连续递增数字

6位连续递增数字串检索方案解答

是否需要预先生成匹配列表

如果你固定要匹配的是后一位比前一位大1、9之后循环接0的6位连续数字串,预先生成匹配列表是非常推荐的方案,优势很明显:

  • 符合规则的目标串总数量只有10种,生成成本极低,后续检索直接比对即可,逻辑简单不容易出错,检索效率也高
  • 你列的目标列表缺了123456、789012两个符合规则的串,完整的目标列表可以通过代码直接生成,不需要手动拼接
    如果后续你的匹配规则会调整(比如不需要9接0的循环、允许递增步长变化、长度可变),可以不用预先生成列表,遍历子串的时候直接按规则校验每个字符即可,灵活性更高。

具体实现示例(Python)

1. 生成完整目标匹配列表

target_list = []
for start_num in range(10):
    current_str = ''.join(str((start_num + offset) % 10) for offset in range(6))
    target_list.append(current_str)
# 生成的完整列表为:['012345', '123456', '234567', '345678', '456789', '567890', '678901', '789012', '890123', '901234']

2. 文本检索代码

import re

# 读取文本并提取所有数字字符,过滤小数点、换行等非数字内容
with open("待检索文件.txt", "r", encoding="utf-8") as f:
    raw_content = f.read()
digit_content = re.sub(r"\D", "", raw_content)

# 遍历所有长度为6的子串匹配
match_result = []
for idx in range(len(digit_content) - 5):
    substr = digit_content[idx:idx+6]
    if substr in target_list:
        match_result.append(f"位置{idx}:匹配到{substr}")

# 输出结果
for item in match_result:
    print(item)

你提供的文本检索结果

在你给出的圆周率片段中,仅匹配到1个符合规则的串:456789,出现在纯数字序列的第1952位位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:15:02