New submission from David Goffredo: A series of lambdas referring to a variable in a comprehension do not hold distinct values, while conventional higher order function do.
PS C:\Users\David\Desktop> python Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> class Caller: ... def __init__(self, f): ... self._f = f ... def start(self): ... print(self._f()) ... >>> def asFunc(boundValue): ... def func(): ... return boundValue ... return func ... >>> for caller in [Caller(asFunc(x)) for x in range(5)]: ... caller.start() ... 0 1 2 3 4 >>> for caller in [Caller(lambda: x) for x in range(5)]: ... caller.start() ... 4 4 4 4 4 >>> ---------- messages: 261885 nosy: David Goffredo priority: normal severity: normal status: open title: lambda not closed on specific value in comprehension type: behavior versions: Python 3.5 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26575> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com