python-orderly-set
Port variant v11
Summary Multiple Ordered Set implementations (3.11)
BROKEN
Package version 5.2.2
Homepage https://github.com/seperman/orderly-set
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v12
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 09 SEP 2024, 16:17:49 UTC
Port created 09 SEP 2024, 16:17:49 UTC
Subpackage Descriptions
single # Orderly Set 5.2.2 Orderly Set is a package containing multiple implementations of Ordered Set. ## OrderlySet This implementation keeps the order in all set operations except set difference operations. As a result, it can do set difference operations much faster than other implementations. Still 2X slower than of Python's built-in set. ## StableSet A StableSet is a mutable set that remembers its insertion order. Featuring: Fast O(1) insertion, deletion, iteration and membership testing. But slow O(N) Index Lookup. ## StableSetEq Same as StableSet but the order of items doesn't matter for equality comparisons. ## OrderedSet An OrderedSet is a mutable data structure that is a hybrid of a list and a set. It remembers its insertion order so that every entry has an index that can be looked up. Featuring: O(1) Index lookup, insertion, iteration and membership testing. But slow O(N) Deletion. ## SortedSet SortedSet is basically set but when printed, turned into string, or iterated over, returns the items in alphabetical order. # Installation `pip install orderly-set` # Usage examples An OrderedSet is created and used like a set: >>> from orderly_set import OrderedSet >>> letters = OrderedSet('abracadabra') >>> letters OrderedSet(['a', 'b', 'r', 'c', 'd']) >>> 'r' in letters True It is efficient to find the index of an entry in an OrderedSet, or find an entry by its index. To help with this use case, the `.add()` method returns the index of the added item, whether it was already in the set or not. >>> letters.index('r') 2 >>> letters[2] 'r' >>> letters.add('r') 2 >>> letters.add('x') 5 OrderedSets implement the union (`|`), intersection (`&`), and difference (`-`) operators like sets do. >>> letters |= OrderedSet('shazam') >>> letters OrderedSet(['a', 'b', 'r', 'c', 'd', 'x', 's', 'h', 'z', 'm']) >>> letters & set('aeiou') OrderedSet(['a']) >>> letters -= 'abcd' >>> letters OrderedSet(['r', 'x', 's', 'h', 'z', 'm']) The `__getitem__()` and `index()` methods have been extended to accept any iterable except a string, returning a list, to perform NumPy-like "fancy indexing". >>> letters = OrderedSet('abracadabra') >>> letters[[0, 2, 3]] ['a', 'r', 'c'] >>> letters.index(['a', 'r', 'c']) [0, 2, 3]
Configuration Switches (platform-specific settings discarded)
PY311 ON Build using Python 3.11 PY312 OFF Build using Python 3.12
Package Dependencies by Type
Build (only) python-pip:single:v11
autoselect-python:single:std
Build and Runtime python311:single:std
Download groups
main mirror://PYPIWHL/69/71/6f9554919da608cb5bcf709822a9644ba4785cc7856e01ea375f6d808774
Distribution File Information
f7a37c95a38c01cdfe41c3ffb62925a318a2286ea0a41790c057fc802aec54da 11621 orderly_set-5.2.2-py3-none-any.whl
Ports that require python-orderly-set:v11
python-deepdiff:v11 Deep difference and search of any object (3.11)