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

有没有更Pythonic的方法检测字符串中同时存在相邻的'(('和'))'?

解决方案

你需要的功能可以直接用Python原生的字符串子串包含判断实现,写法非常简洁:

def check(string: str) -> str:
    return "true" if "((" in string and "))" in string else "false"

方案说明

你的需求本质是判断字符串中是否同时存在相邻左双括号((和相邻右双括号)),Python的in运算符已经原生支持子串存在性校验,底层有C级别的性能优化,比手动遍历字符的实现效率更高,同时不会有边界问题。

你原有的实现存在两个明显问题:

  1. 边界异常:输入字符串长度小于2时,直接取text[0]、text[1]会触发索引越界报错,上述新实现不存在这个问题
  2. 冗余逻辑:重复判断相邻字符组合,完全可以用原生能力替代

所有你给出的测试用例都能完美匹配返回结果:

  • check("((a)) + b") → true
  • check("((a) + b") → false
  • check("(a+b))") → false
  • check("((a+b))") → true
  • check("((a)(b))") → true
  • check("(((a)))") → true
  • check("a)) + ((b") → true

如果后续需要返回布尔值而非字符串,可以进一步简化为:

def check(string: str) -> bool:
    return "((" in string and "))" in string

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:36:02