def gCompre(f, gList, cond = lambda *x: 1):
    """List Comprehension
    
    [f(*x) for x in gList if cond(*x)]
    
    """
    for x in gList:
        # WARNING: may fall into forever loop
        # without yielding anything if f(*x) is
        # always false from a certain x onwards
        if cond(*x):
            yield f(*x)
List Comprehension
    
    [f(*x) for x in gList if cond(*x)]
    
    
recipes/Python/170995_Manipulating_infinite_lists_implemented/recipe-170995.py