В Python 2.6:
[x() for x in [lambda: m for m in [1,2,3]]]
приводит к:
[3, 3, 3]
Я бы ожидал, что вывод будет [1, 2 3]. Я получаю точную те же проблему даже с подходом понимания не списка. И даже после того, как я копирую m в другую переменную.
Что я скучаю?