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

Antoine Pitrou solipsis at pitrou.net
Wed Nov 4 00:21:56 CET 2009


Guido van Rossum <guido <at> python.org> writes:
> 
> You're obviously talking about a *random* element. This is a separate
> use case (though I agree many people don't know the difference).
> 
> Picking a random element can be done in O(1) only if the data
> structure supports access by index, which Python's hash tables don't.

Well, at the implementation level, they can. You'd just have to pick a new
random index until it points to a non-empty slot.

Regards

Antoine.




More information about the Python-Dev mailing list