【发布时间】:2017-08-28 18:58:58
【问题描述】:
我想创建一个 lambda 列表,但结果并不如我所愿。
L = [(lambda x: x/y) for y in range(10)]
我希望列表中的每个函数都将其参数除以其索引,但所有函数仅除以最后一个索引。
>>> L[1](5)
0.5555555555555556
>>> L[5](5)
0.5555555555555556
>>> 5/9
0.5555555555555556
这种列表理解是不是每个 lambda 在 Python 中都有自己的 ypossible 副本?
【问题讨论】:
-
您的代码中只有一个
y,在您创建列表后,y的值为 9。
标签: python python-3.x lambda list-comprehension