【问题标题】:Simplify the following method [closed]简化以下方法[关闭]
【发布时间】:2019-11-11 09:15:09
【问题描述】:

下面的方法需要简化,使线条变得相对较小。

    def rep(m):
        if m.group(0) == " " or m.group(0) == "_":
            return "[ _]"
        elif m.group(0) == "(" or m.group(0) == ")" or m.group(0) == "*" or m.group(0) == "+" or m.group(0) == "=" or m.group(0) == "?" or m.group(0) == "!" or m.group(0) == "^" or m.group(0) == "-":
            return "\\" + m.group(0)

    return re.sub(r"[ _()*+=?!^-]", rep, s)

【问题讨论】:

  • 你的函数的目的是什么?另外,最后一个返回是否应该在函数内部?
  • 我投票结束这个问题,因为它属于Code Review
  • 是的,在里面
  • “线条变得相对较小”不应该成为你自己坚持的指标
  • 使用in 进行存在性检查,例如m.group(0) in ["(", ")", "*",...]

标签: python python-3.x methods


【解决方案1】:

希望对你有帮助!!

def rep(m):
    if m.group(0) in (" ","_"):
        return "[ _]"
    elif m.group(0) in ("(",")","*","+","=","?","!","^","-"):
        return "\\" + m.group(0)

return re.sub(r"[ _()*+=?!^-]", rep, s)

【讨论】:

    猜你喜欢
    • 2014-01-07
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    相关资源
    最近更新 更多