如何编写我的代码的重构版本?

时间:2015-05-11 13:20:41

标签: python python-2.7

我收到了一个很好的答案,如何在codereview重构我的代码。

https://codereview.stackexchange.com/questions/90378/how-should-i-refactor-my-insert-class/90385#90385

但是当我尝试代码时,我的IDE会发出错误:Unresolved reference w']' expected。代码有什么问题?我还在学习python,所以我不确定错误是什么,这可能是一个错字。

BAD_WORDS = ['penis', 'black money', 'escort']

if any[w in text or w.upper() in text or w.capitalize() in text
       for w in BAD_WORDS]:
    self.response.out.write('REMOVED')
    return

2 个答案:

答案 0 :(得分:3)

首先,你需要括号来进行函数调用。其次,您可以将代码减少到以下内容:

any(w.lower() in text.lower().split() for w in BAD_WORDS)

答案 1 :(得分:2)

any是一个函数调用,所以你需要在列表解析周围括起括号:

BAD_WORDS = ['penis', 'black money', 'escort']

if any(w in text or w.upper() in text or w.capitalize() in text
                for w in BAD_WORDS):
    self.response.out.write('REMOVED')
    return

你有什么:

if any[w in text or w.upper() in text or w.capitalize() in text
                for w in BAD_WORDS]:

无效