Python如何实现仅当字符串无_string后缀时才追加该后缀
实现方案
针对仅当字符串无_string后缀时才追加后缀的需求,有两种可直接落地的Python实现:
通用兼容方案(支持所有Python版本)
用字符串内置endswith()方法校验后缀,配合三元表达式即可完成逻辑,可直接替换原有字典构造代码:raw_view = object.get("view") res = {"view": raw_view if raw_view.endswith("_string") else f"{raw_view}_string"}如果
object.get("view")可能返回非字符串值(比如键不存在时返回None),可增加类型判断避免报错:raw_view = object.get("view") if isinstance(raw_view, str): final_view = raw_view if raw_view.endswith("_string") else f"{raw_view}_string" else: final_view = "" # 非字符串场景的默认值可按业务需求调整 res = {"view": final_view}Python 3.9+ 极简方案
3.9版本新增的str.removesuffix()方法可以省略判断步骤:先移除所有可能存在的_string后缀,再统一追加该后缀,最终效果和判断逻辑完全一致,代码更短:raw_view = object.get("view") res = {"view": f"{raw_view.removesuffix('_string')}_string"}逻辑验证:
- 原值为
Table时:移除后缀无变化,拼接后得到Table_string - 原值为
Table_string时:先移除后缀得到Table,拼接后仍为Table_string,完全符合需求
- 原值为
内容的提问来源于stack exchange,提问作者reemas
相关产品推荐
相关产品推荐

