def func(n):
  return lambda n: print(n)
list = [func(n) for n in range(10) ]
これと
list = [lambda n: print(n) for n in range(10)]
これは等価ではない
前者と等価になるのは
list = [(lambda n: print(n))(n) for n in range(10)]