python - 如何使用迭代器将 lambda 函数列表应用于单个元素?

标签 python list lambda iterator yield

我想使用必须使用 yield 创建的可迭代对象将 lambda 函数列表应用于单个元素。

lambda 函数列表应该是这样的:

[<function <lambda> at 0x1d310c8>, <function <lambda> at 0x1d355f0>]

我想将每个函数从左到右应用到单个元素,使用 yield 构造一个可迭代对象来迭代列表

最佳答案

def apply_all(functions, item):
    for f in functions:
        yield f(item)

示例用法:

functions = [type, id, hex]
for result in apply_all(functions, 55):
    print result

给予

<type 'int'>
20326112
0x37

关于python - 如何使用迭代器将 lambda 函数列表应用于单个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8344058/

相关文章:

Python:二叉树类:通过遍历重建

c# - 异步 lambda : "a task was cancelled"

c++ - 推导 C++11 中 lambda 参数的类型

python - Ubuntu - Django Haystack 和 Solr 集成错误

python - 如何创建自定义 Scrapy Item Exporter?

python - 从列表中删除\r

Python按开始和结束字符拆分字符串

python - 难以在 2 维或更多维中列出 0 的列表

c++ - 高级 C++ 多括号

python - pytest 覆盖率 - 一行的命中数