[2, 2, 2].
Если бы вы хотели, чтобы вывод был [0, 1, 2], то выход из ситуации — создание отдельной функции или передача аргументов по их имени.
flist = []
for i in range(3):
flist.append(lambda i = i : i)
answer = [f() for f in flist]
print(answer)
#вопросы_с_собеседований