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

如何获取文件中不含指定字符的行号并按行识别不同字符?

需求一:识别不包含指定字符/字符串的行号

遍历文件时同步记录行号,判断目标内容是否不在当前行中即可实现,代码示例:

target = "0"  # 替换为你需要检测的字符或字符串
missing_line_nums = []

with open("filename.txt", "r") as in_file:
    # enumerate(start=1)让行号从1开始计数,符合日常阅读习惯
    for line_num, line in enumerate(in_file, start=1):
        if target not in line:
            missing_line_nums.append(line_num)

print(f"不包含'{target}'的行号:{missing_line_nums}")
需求二:按行识别不同的字符

如果需要提取每行中的唯一字符集合,可以利用集合自动去重的特性;若要保留字符的出现顺序,可借助字典的有序性(Python 3.7+支持):

方案1:获取无序的唯一字符

with open("filename.txt", "r") as in_file:
    for line_num, line in enumerate(in_file, start=1):
        # strip()去除换行符和首尾空白,按需可移除该操作
        unique_chars = set(line.strip())
        print(f"第{line_num}行的不同字符:{sorted(unique_chars)}")

方案2:按出现顺序获取唯一字符

with open("filename.txt", "r") as in_file:
    for line_num, line in enumerate(in_file, start=1):
        cleaned_line = line.strip()
        # dict.fromkeys会按字符出现顺序保留唯一值
        unique_chars_ordered = list(dict.fromkeys(cleaned_line))
        print(f"第{line_num}行的不同字符(按出现顺序):{unique_chars_ordered}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:23:26