提前返回写入(检查按照正确的顺序条件,请参阅给出答案)通常要明智首选性能。
如果你不能使用早期返回,而是需要对元素的任意条件,请记住你有(列表/词典)理解。
例如
contains_matrix = [
(element in htmlText)
for element in ("element1", "element2", "element3")
]
将产生与True
和False
对于每个元素的列表。 那么你在问题中提到的条件,可以配制成
not contains_matrix[0] and not contains_matrix[1] and contains_matrix[2]
让我再说一遍:相同的结果可以通过检查"element3"
最后和早期恢复来实现。
字典甚至更好(和更Python):
contains_dict = {
element: (element in htmlText)
for element in ("element1", "element2", "element3")
}
评价他们:
(
not contains_dict['element1']
and not contains_dict['element2']
and contains_dict['element3']
)
甚至
[element for element, contained in contains_dict.items() if contained]
,让你所包含的所有元素HTML。
这样的事情? [如何针对多个值测试一个变量?](http://stackoverflow.com/q/15112125) –
是的。 'AND'... – skndstry
当然有*和*(这实际上是'和')。但是如果我找到你的想法,你想要“这个条件*和*不是其他条件”? – dhke