def dual_filter(cond, seq):
    """filter `seq` on `cond`; return two lists: (matches, non_matches)"""
    pos,neg = [],[]
    for x in seq:
        (pos if cond(x) else neg).append(x)
    return pos,neg