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

如何使用Python字典替换文本中的指定字母

单字符映射替换问题解决方案

原代码错误原因

你写的代码中text.split()会将输入文本按空格切分为完整的单词,而你定义的Letters字典是单个字符的映射规则,用整个单词作为键去字典中查询,自然匹配不到任何对应值,所以不会发生任何替换。

正确实现方案

方案1:遍历单个字符替换

直接遍历文本的每一个字符,逐个做映射匹配,找不到匹配项的字符保留原值:

Letters = {'a': 'z', 'b': 'q', 'm':'j'}
text = "这里替换成你的随机文本"

res = "".join(Letters.get(char, char) for char in text)
print(res)

运行示例:输入文本为apple and banana make me happy,输出结果为zpple znd qznnna jzke je hzppy。

方案2:使用str.maketrans生成映射表(更高效)

如果文本量较大,推荐使用Python内置的字符串翻译方法,性能更优,代码也更简洁:

Letters = {'a': 'z', 'b': 'q', 'm':'j'}
text = "这里替换成你的随机文本"

# 生成字符映射表
trans_table = str.maketrans(Letters)
res = text.translate(trans_table)
print(res)

如果需要支持大小写字母都匹配替换,可以调整逻辑如下:

# 不区分大小写替换示例
res = "".join(
    Letters.get(char.lower(), char) 
    for char in text
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:27:00