Skip to content

Latest commit

 

History

History
42 lines (30 loc) · 1.21 KB

README.rst

File metadata and controls

42 lines (30 loc) · 1.21 KB

Ordered Set

image

image

image

An Ordered Set implementation in Cython. Based on Raymond Hettinger's OrderedSet recipe.

Example:

>>> from orderedset import OrderedSet
>>> oset = OrderedSet([1, 2, 3])
>>> oset
OrderedSet([1, 2, 3])
>>> oset | [5, 4, 3, 2, 1]
OrderedSet([1, 2, 3, 5, 4])

Features

  • Works like a regular set, but remembers insertion order;
  • Is approximately 5 times faster than the pure Python implementation overall (and 5 times slower than set);
  • Compatible with Python 2.7 through 3.8;
  • Supports the full set interface;
  • Supports some list methods, like index and __getitem__.
  • Supports set methods against iterables.