On Wed, Nov 18, 2015 at 5:05 PM, fl <rxjw...@gmail.com> wrote: > Hi, > > I cannot reason out why the code: > //////// > def mpl(): > return [lambda x : i * x for i in range(4)] > > print [m(2) for m in mpl()] > ///////// > > has result: > > [6, 6, 6, 6] > > > I have tried to simplify the above code to an easy understanding form, > but fails. Either the modified code does not work, or it does not show > relation to the original code. > > Could you explore it a little for me to understand it easier?
https://docs.python.org/3/faq/programming.html#why-do-lambdas-defined-in-a-loop-with-different-values-all-return-the-same-result -- https://mail.python.org/mailman/listinfo/python-list