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

如何在Python中切换字符串内的所有算术运算符号

问题原因

你原先两次链式调用replace()的写法会出现覆盖问题:

  • 第一步执行replace("+", "-")后,原字符串"+1-2"会先变成"-1-2"
  • 第二步执行replace("-", "+")时,会把上一步生成的所有-统一替换为+,最终得到错误结果"+1+2"

一行式解决方案

使用Python内置的str.maketrans()构造字符映射表,配合str.translate()一次性完成所有字符替换,每个原字符只会被处理一次,不会出现先后替换的覆盖问题:

"+1-2".translate(str.maketrans({"+": "-", "-": "+"}))

运行后输出为预期结果'-1+2'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:27:06