A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2009-October/093241.html below:

[Python-Dev] Retrieve an arbitrary element from a set without removing it

[Python-Dev] Retrieve an arbitrary element from a set without removing it [Python-Dev] Retrieve an arbitrary element from a set without removing itVitor Bosshard algorias at gmail.com
Fri Oct 23 19:04:33 CEST 2009
2009/10/23 Willi Richert <w.richert at gmx.net>:
> Hi,
>
> recently I wrote an algorithm, in which very often I had to get an arbitrary
> element from a set without removing it.
>
> Three possibilities came to mind:
>
> 1.
> x = some_set.pop()
> some_set.add(x)
>
> 2.
> for x in some_set:
>        break
>
> 3.
> x = iter(some_set).next()
>
>
> Of course, the third should be the fastest. It nevertheless goes through all
> the iterator creation stuff, which costs some time. I wondered, why the builtin
> set does not provide a more direct and efficient way for retrieving some element
> without removing it. Is there any reason for this?
>
> I imagine something like
>
> x = some_set.get()
>


I see this as being useful for frozensets as well, where you can't get
an arbitrary element easily due to the obvious lack of .pop(). I ran
into this recently, when I had a frozenset that I knew had 1 element
(it was the difference between 2 other sets), but couldn't get to that
element easily (get the pun?)
More information about the Python-Dev mailing list

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