def split_list(lst, cond):
    """ Split list items into two into (matching, non_matching) by
      `cond(item)` callable """
    matched, unmatched = [], []
    for item in lst:
        if cond(item):
            matched.append(item)
        else:
            unmatched.append(item)
    return matched, unmatched
