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/093227.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 itWilli Richert w.richert at gmx.net
Fri Oct 23 11:32:45 CEST 2009
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()

or 

x = some_set.pop(False)

and am thinking about providing a patch against setobject.c (preferring the 
.get() solution being a stripped down pop()).

Before, I would like to know whether I have overlooked something or whether 
this can be done in an already existing way.

Thanks,
wr

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