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

如何实现子串便捷匹配 简化多目标匹配布尔表达式写法

子串匹配布尔表达式简化方案

下面分两种场景给出对应简化写法,均和原表达式name1 in a_string or name2 in a_string逻辑完全等价,且自带短路判断逻辑,性能无损耗:

场景1:待匹配项为字符串字面量(如"name1"、"name2")

  • 固定少量匹配项写法:
any(s in a_string for s in ("name1", "name2"))
  • 匹配项名称有统一规则、序号可枚举的精简写法:
any(f"name{i}" in a_string for i in (1,2))
  • 序号连续的场景可以进一步简化:
any(f"name{i}" in a_string for i in range(1, 3))

场景2:待匹配项为已定义的变量(如name1、name2是提前赋值的变量)

  • 直接传入变量元组的通用写法:
any(x in a_string for x in (name1, name2))
  • 变量名有规则的动态取值写法(仅推荐简单场景使用,避免降低代码可读性):
any(locals()[f"name{i}"] in a_string for i in (1,2))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:54:03