python-orderly-set
Port variant v12
Summary Multiple Ordered Set implementations (3.12)
BROKEN
Package version 5.2.3
Homepage https://github.com/seperman/orderly-set
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v13
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 11 NOV 2024, 23:28:05 UTC
Port created 09 SEP 2024, 16:17:49 UTC
Subpackage Descriptions
single # Orderly Set 5.2.3 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)
PY312 ON Build using Python 3.12 PY313 OFF Build using Python 3.13
Package Dependencies by Type
Build (only) python312:dev:std
python-pip:single:v12
autoselect-python:single:std
Build and Runtime python312:primary:std
Download groups
main mirror://PYPIWHL/cc/bb/a3a4eab8430f14c7d1476f9db261d32654cb3d1794c0266a46f6574e1190
Distribution File Information
d357cedcf67f4ebff0d4cbd5b0997e98eeb65dd24fdf5c990a501ae9e82c7d34 12024 orderly_set-5.2.3-py3-none-any.whl
Ports that require python-orderly-set:v12
python-deepdiff:v12 Deep difference and search of any object (3.12)