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

如何实现Python字符串指定字母双向互换?a↔e、b↔g求简洁方案

字符双向替换简化实现方案

你当前的实现存在硬编码索引的问题,仅能处理abcdefg这一个固定输入,一旦输入字符串的长度、字符位置发生变化就会失效,且逻辑冗余。

最优实现方案(Python内置方法)

直接使用str.maketrans()+str.translate()的组合,专门用于处理批量字符替换场景,代码简洁且性能优异:

# 定义双向替换映射规则
replace_map = {'a': 'e', 'e': 'a', 'b': 'g', 'g': 'b'}
# 生成字符转换表
trans_table = str.maketrans(replace_map)

input_str = "abcdefg"
output = input_str.translate(trans_table)
print(output)

运行后输出结果为egcdafb,完全符合要求。

手动循环实现方案

如果你不想调用内置转换方法,也可以用更简洁的遍历逻辑实现,无硬编码问题:

replace_map = {'a': 'e', 'e': 'a', 'b': 'g', 'g': 'b'}
input_str = "abcdefg"
result = []
for char in input_str:
    # 存在替换规则就用对应值,否则保留原字符
    result.append(replace_map.get(char, char))
print(''.join(result))

两种方案都支持任意包含a/e/b/g的输入字符串,不需要提前查找字符索引,适配性远高于你当前的实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:39:03