def diff_lists(lists):
    """Diff the last list with the other lists and return a list of elements that are in the last list but not in the
    any of the previous lists.

    Arguments:
    lists -- The last list (-1) in this list of lists will be diffed with the other lists.

    Returns:
    A list of elements that exist in the last list but do not exist in any of the other lists.
    If the last list is None, returns [].
    If the previous lists don't exist then returns the last list (in this case, the only list).
    If any of the previous lists are a false value (None or []), they are ignored.
    """
    lists_reversed = reversed(lists)
    new_elements = next(lists_reversed, []) or []

    for previous_list in lists_reversed:
        # This can be done faster using set difference but that doesn't work if the elements of the list are
        # dictionaries.
        previous_list = previous_list or []
        new_elements = [element for element in new_elements if element not in previous_list]
    return list(new_elements)