ラムダ式のリストを作りたいのですが、
def func(n):
  return lambda n: print(n)

list = [func(n) for n in range(10) ]
list[0]
list[1]
list[2]

は狙い通りに
0
1
2
という結果が出るのに

list = [lambda n: print(n) for n in range(10)]
list[0]
list[1]
list[2]

だと
9
9
9
になってしまうのはなぜですか?