ordered-hash-set is data structure that stores immutable unique elements. Unlike built-in set in python, it also keeps the insertion order.
Install via pip
:
pip install ordered-hash-set
Or install from source:
python3 setup.py install
from ordered_hash_set import OrderedSet
s = OrderedSet()
s.add("London")
s.add("Tokyo")
# you can add multiple entries at once, like this:
s.update("Paris", "Istanbul")
s.add("London")
s.remove("Tokyo")
print(s) # prints: OrderedSet(London, Paris, Istanbul)
# Thanks to the hashing. Time complexity of checking
# if an element present in a collection is O(1).
# Which is faster than regular list: O(n).
if "Paris" in s:
print("Paris is in the set.")
# It is also possible, but not recommended due to inefficiency,
# to get the item by index:
assert s[2] == "Istanbul"
Please see API Reference Page