[New-bugs-announce] [issue26575] lambda not closed on specific value in comprehension

David Goffredo report at bugs.python.org
Thu Mar 17 01:52:46 EDT 2016


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 <report at bugs.python.org>
<http://bugs.python.org/issue26575>
_______________________________________


More information about the New-bugs-announce mailing list