On Tue, Feb 28, 2017 at 2:57 PM, 语言破碎处 <[email protected]> wrote:
> 1) coverting to set or list is O(n) in time > A hypothetical frozenset.pop() is also necessarily O(N). It needs to copy N-1 elements into the new (smaller) frozenset object. So this isn't an argument. > 2) if I have to keep the old copy, > standard set solution will be O(n) both in time and space! > Again, nothing gained here. Same applies to frozenset.pop() (assuming it returns both the item popped and a reduced set). If you just want "something from frozenset" without creating a new almost-copy frozenset, that is spelled `next(iter(fs))`. > working examples: > 1) priority queue: > insert and pop occur > 2) share immutable data to difference subroutines: > each one can modify local copy safely and concurrency. > Sounds like `collections.deque` might be what you want (for concurrency, not for immutability). But a local copy will require, by definition, a *copy* operation either way. -- Keeping medicines from the bloodstreams of the sick; food from the bellies of the hungry; books from the hands of the uneducated; technology from the underdeveloped; and putting advocates of freedom in prisons. Intellectual property is to the 21st century what the slave trade was to the 16th.
_______________________________________________ Python-ideas mailing list [email protected] https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
