【发布时间】:2011-12-01 15:42:35
【问题描述】:
我想使用一个必须用 yield 创建的可迭代对象将 lambda 函数列表应用于单个元素。
lambda 函数的列表如下:
[<function <lambda> at 0x1d310c8>, <function <lambda> at 0x1d355f0>]
我想将每个函数(从左到右)应用到单个元素,使用 yield 构造一个迭代器来迭代列表
【问题讨论】:
-
必须用 yield 来创建 - 为什么?
-
嘿...4 个几乎相同的答案 - 我认为这是一个很好的例子,有时我们在 Python 中确实有“一种明显的做法”
-
@jsbueno:这并不奇怪——毕竟
yield的使用是强制性的。否则,肯定也会有(f(x) for f in func_list)。 -
@jsbueno:在大多数语言中,“使用循环”是对“我如何为列表中的所有元素做某事”这个问题的一个明显答案......
标签: python list lambda iterator yield