Eine Funktion, die den Iterator scannt und den ersten Wert zurückgibt, der der Bedingung entspricht (Das Äquivalent von Javascript und Ruby finden)
Siehe das offizielle Rezept für Python itertools http://docs.python.jp/3/library/itertools.html
python
def first_true(iterable, default=False, pred=None):
"""Returns the first true value in the iterable.
If no true value is found, returns *default*
If *pred* is not None, returns the first item
for which pred(item) is true.
"""
# first_true([a,b,c], x) --> a or b or c or x
# first_true([a,b], x, f) --> a if f(a) else b if f(b) else x
return next(filter(pred, iterable), default)
Recommended Posts