pygtrie is a pure Python implementation of a trie data structure compatible with Python 2.x and Python 3.x.
Trie data structure, also known as radix or prefix tree, is a tree associating keys to values where all the descendants of a node have a common prefix (associated with that node).
The trie module contains Trie
, CharTrie
and StringTrie
classes each implementing a mutable mapping interface, i.e. dict
interface. As such, in most circumstances, Trie
could be used as
a drop-in replacement for a dict
, but the prefix nature of the
data structure is trie’s real strength.
The module also contains PrefixSet
class which uses a trie to
store a set of prefixes such that a key is contained in the set if it
or its prefix is stored in the set.
- A full mutable mapping implementation.
- Supports iterating over as well as deleting a subtrie.
- Supports prefix checking as well as shortest and longest prefix look-up.
- Extensible for any kind of user-defined keys.
- A PrefixSet supports “all keys starting with given prefix” logic.
- Can store any value including None.
To install pygtrie, simply run:
pip install pygtrie
or by adding line such as:
pygtrie == 2.*
to project’s requirements file. Alternatively, if installation from source is desired, it can be achieved by executing:
python setup.py install