Hello, On Fri, Apr 03, 2009 at 02:07:02PM +0200, Hrvoje Niksic wrote: > But I can't seem to find a way to retrieve the element corresponding to > 'foo', at least not without iterating over the entire set. Is this an > oversight or an intentional feature? Or am I just missing an obvious > way to do this? 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. - Sebastian
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