[Python-Dev] Retrieve an arbitrary element from asetwithoutremoving it (original) (raw)

Alexander Belopolsky alexander.belopolsky at gmail.com
Mon Nov 9 16:36:27 CET 2009


On Mon, Nov 9, 2009 at 10:09 AM, Daniel Stutzbach <daniel at stutzbachenterprises.com> wrote:

On Mon, Nov 9, 2009 at 2:42 AM, "Martin v. Löwis" <martin at v.loewis.de> wrote:

Interesting. Something goes wrong, it seems: if items get removed over and over again, I think the set should shrink (not sure whether it actually does). Then, I think you should end up with an amortized O(1) for selecting an element (assuming that the underlying hashes don't collide). I'm not sure if Python's implementation shrinks or not,

It does not:

s = set(range(100000)) from sys import getsizeof getsizeof(s) 4194536 while s: x = s.pop() ... getsizeof(s) 4194536 s.clear() getsizeof(s) 232



More information about the Python-Dev mailing list