创建布尔函数的集合

时间:2018-06-27 10:54:28

标签: python-3.x

我有一个要过滤的文件,基本上删除了满足任何条件列表的行

def f1(line):
    return re.search(r"condition1ToBeMet", line.strip()) is None

def f2(line):
    return re.search(r"condition2ToBeMet", line.strip()) is None

#then 
for line in file:
    if any( f1(line) or f2(line) ):
        pass #as I'm not interested in that line

    else:
        print(line) 

在这种情况下,“ any”行使我感到困惑。解决这个问题的pythonic和优雅的方法是什么?我的文件很大,我希望每行最多可以运行十个功能,因此强烈建议使用“ or”之类的短路

预先感谢

1 个答案:

答案 0 :(得分:0)

谢谢Azat:

def f1(line):
    return re.search(r"condition1ToBeMet", line.strip()) is None

def f2(line):
    return re.search(r"condition2ToBeMet", line.strip()) is None

#then 
for line in file:
    if f1(line) or f2(line):
        pass