Date

第一种写法

e = None
for i in l:
    if condition(i):
        e = i
        break

缺点:不美观

第二种写法

e = [i for i in l if condition(i)][0]
e = filter(condition, l)[0]

缺点:没有做list非空判断可能异常;效率不高,只需要一个元素,但是遍历了原始list所有元素

第三种写法

e = next((i for i in l if condition(i)), None)
e = next(itertools.ifilter(conditon, l), None)

缺点:太优美:-)