Lista de comprensiones en Python con estado mutable entre iteraciones

Tengo algo que es muy parecido a la comprensión de una lista en Python, excepto que comparte un estado mutable entre iteraciones. ¿Hay alguna manera de hacerlo con una lista de comprensión?

def f(x):
    """ 5-bit LFSR """
    return (x >> 1) ^ (0x12*(x&1))

def batch(f, x, n):
    result = [x]
    for _ in xrange(1,n):
        x = f(x)
        result.append(x)
    return result

batch(f, 1, 5)

que vuelve[1, 18, 9, 22, 11]. Aquí lo importante es elbatch función, nof(x) que es solo un ejemplo simple para ilustrar el problema.

Alternativamente, podría implementar usando un generador:

def batch(f, x, n):
    yield x
    for _ in xrange(1,n):
        x = f(x)
        yield x

list(batch(f, 1, 5))

Pero huele un poco incómodo. Lo que estoy buscando es algo como esto ...

batch = [??? for _ in xrange(n)]

Respuestas a la pregunta(3)

Su respuesta a la pregunta