On Sat, Nov 3, 2018, 1:30 PM Stephen J. Turnbull <turnbull.stephen.fw@u.tsukuba.ac.jp wrote:
P.S.   I can't resist.  This is horrible, but:

def multifilter(names, *patterns):
    return list(set().union(*[fnmatch.filter(names, p) for p in patterns]))

Yes, that is a horrible spelling for:

    {fnmatch.filter(names, p) for p in patterns}

;-)