import itertools


def list_flatten(_l):
    """Flatten a complex nested list of nested lists into a flat list

    """
    return itertools.chain(*[list_flatten(j) if isinstance(j, list) else [j] for j in _l])