Написал:
def gen(a,b): lst = [] for i in xrange(a,b+1): lst.append(lambda x: x+i) return lst
Вроде, как я полагал, должен возвращаться список функций, суммирующих с аргументом, аргумент должен варьиоваться от a до b, однако возвращается список функций, расположенных, вроде, по разным адресам, но суммирующих только с b. То есть список одинаковых функций. Почему так, подскажите пожалуйста?
Решение другое нашел методом эксперимента, но вопрос не дает мне спокойно спать - почему этот код работает не так, как ожидалось?