我有Rules
的列表,每个规则都在不同的类
rules = ['RuleA', 'RuleB', 'RuleC']
其中RuleA ..是clasess
每个RuleA都像
class RuleA(object):
def __init__(self, entry):
self.entry = entry
def apply():
return {data:[l1,l2], final: true}
我想申请
ces = []
for entry in entries:
for rule in rules:
r= rule(entry)
res = r.apply()
if res['final']:
for e in res['data']:
ces.append(e)
# stop processing this entry
else:
go further
基本上if res['final'] is True
则表示不需要进一步处理,然后将列表项追加到ces
但是如果res['final'] is flase
,那么我希望entry
进一步遵守规则,除非
res['final'] is True
答案 0 :(得分:0)
如果我理解正确,您可以使用break
语句实现所需(break
只是终止for
循环并在循环后继续执行)。您的代码可能如下所示:
if res['final']:
for e in res['data']:
ces.append(e)
break
不需要else
语句,因为如果循环没有停止,循环将默认继续循环。