Hi, On Fri, Apr 3, 2009 at 17:45, Sebastian Rittau <srittau at jroger.in-berlin.de> wrote: > I am missing a simple way to retrieve the "first" element of any > iterable in python that matches a certain condition anyway. Something > like this: > > def first(iter, cb): > for el in iter: > if cb(el): > return el > raise IndexError() > > Or (shorter, but potentially slower): > > def first(iter, cb): > return [el for el in iter if cb(el)][0] > > To be used like this: > > my_el = first(my_set, lambda el: el == "foobar") > > This is something I need from time to time and this also seems to solve > your problem. def first(iter, cb): return itertools.ifilter(cb, iter).next() -- Amaury Forgeot d'Arc
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4