微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我想使用必须用yield创建的iterable将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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐