def list_filter(lst, startswith=None, notstartswith=None, contain=None,
    notcontain=None):
    """ Keep in list items according to filter parameters.

    :param lst: item list
    :param startswith: keep items starting with
    :param notstartswith: remove items starting with
    :return:
    """
    keeped = []
    for item in lst:
        keep = False
        if startswith is not None:
            if item.startswith(startswith):
                keep = True
        if notstartswith is not None:
            if not item.startswith(notstartswith):
                keep = True
        if contain is not None:
            if contain in item:
                keep = True
        if notcontain is not None:
            if not notcontain in item:
                keep = True
        if keep:
            keeped.append(item)
    return keeped
