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

如何实现输入列表与异常列表的匹配项替换为空格?

问题解决方法

你的代码核心问题是判断逻辑错误——你硬编码了固定字符串'exeption'作为匹配条件,而非对比异常列表c中的实际内容。以下是修正后的可行方案:

方案1:修改原有循环逻辑

直接调整判断条件,同时将异常列表转为集合提升查找效率(数据量大时优势更明显):

with open('input.txt') as f:
    a = f.read().splitlines()
with open('exeptions.txt') as f:
    c = f.read().splitlines()

# 转集合优化查找速度
exception_set = set(c)
if exception_set:
    for i in range(len(a)):
        if a[i] in exception_set:
            a[i] = ' '

# 验证结果
print(a)

方案2:用列表推导式简化代码

如果不想用索引循环,列表推导式能更简洁地完成替换:

with open('input.txt') as f:
    a = f.read().splitlines()
with open('exeptions.txt') as f:
    exception_set = set(f.read().splitlines())

# 一行完成替换逻辑
a = [' ' if item in exception_set else item for item in a]

# 验证结果
print(a)

测试验证

针对你给出的示例文件:

  • input.txt每行一个元素:
    a
    b
    
  • exeptions.txt内容:
    b
    

运行代码后,输出结果为['a', ' '],完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:24:19