[Python-Dev] Getting values stored inside sets

Amaury Forgeot d'Arc amauryfa at gmail.com
Fri Apr 3 18:07:29 CEST 2009


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


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /