John Sahr added the comment: I eventually figured that out that source of the problem;
thanks for the coding fix; that's useful to know. -John On Thu, Aug 11, 2016 at 8:17 AM, Emanuel Barry <rep...@bugs.python.org> wrote: > > Emanuel Barry added the comment: > > This is due to the fact that Python evaluates the variable 'n' when the > function is called, not when it is created. As such, the variable holds the > latest value for all functions, and they exhibit identical behaviour. > > Workaround: > > ... > f = lambda x, n=n: sin(n*x) > ... > > And this should work as you expect. More information is available at > https://docs.python.org/3/faq/programming.html#why-do- > lambdas-defined-in-a-loop-with-different-values-all-return-the-same-result > > ---------- > nosy: +ebarry > resolution: -> not a bug > stage: -> resolved > status: open -> closed > versions: -Python 2.7 > > _______________________________________ > Python tracker <rep...@bugs.python.org> > <http://bugs.python.org/issue27738> > _______________________________________ > ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue27738> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com