I\'m trying to build a list of the first ten factorials
[1,1,2,6,24,120,720,5040,40320,362880]
using only list comprehension. Is that possible
Your attempt does not work because the list comprehension works element-wise, you cannot refer to lst[i-1]
like that. There is a factorial
function in math
module, however, since you mentioned generators, you can use one like this
def mygenerator():
total = 1
current = 1
while True:
total *= current
yield total
current += 1
factorial = mygenerator()
output = [next(factorial) for i in range(10)]