首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

一个python有关问题

2013-07-01 
一个python问题假设有一个简单功能,在一个列表中对每个元素调用一个foo,只要成功就结束:for x in aList:if

一个python问题
假设有一个简单功能,在一个列表中对每个元素调用一个foo,只要成功就结束:
for x in aList:
    if foo(x):
        break

请问下用函数式编程的方法应该怎么写?

自己想过处理的:
1. 用 map(foo, aList) 或者 [foo(x) for x in aList]
这样的话会把每个元素都调用一遍,效率太低

2. (x for x in aList if foo(x)).next()
这样不会有1的问题,但是需要加一个try-except,
而且感觉上应该有个更加好的写法。


[解决办法]
any(foo(x) for x in aList)

热点排行