Skip to main content

Dead simple & fast ordered set using python's 3.7+ dict.

Project description

A dead simple set that preserves insertion order, internally using the python’s 3.7 dict, which preserves order.

pip install ordered-set-37

This class subclasses and implements all the methods of MutableSet.

from ordered_set_37 import OrderedSet
x = OrderedSet([1, 2, -1, "bar"])
x.add(0)
assert list(x) == [1, 2, -1, "bar", 0]

This library uses the typing system, so feel free to do:

x: OrderedSet[str] = OrderedSet(("foo", "bar"))
x.add(1)  # type checkers won't like this as it is not a string

As an extra, you can access a value by index (although the speed is at worst O(n)):

x = OrderedSet(["foo", "bar", "baz"])
assert x[1] == "bar"

For obvious reasons, this library is only Python 3.7+ compatible.

Feel free to contribute, fork, etc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Ordered-set-37-2.0.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

Ordered_set_37-2.0-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file Ordered-set-37-2.0.tar.gz.

File metadata

  • Download URL: Ordered-set-37-2.0.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/62.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.13

File hashes

Hashes for Ordered-set-37-2.0.tar.gz
Algorithm Hash digest
SHA256 b44a4e49c25af5a6f73d6e683851faedacf8f2464d5379883ca5b2f11e978f80
MD5 c270669ca131bfc1a2799ccc7c210842
BLAKE2b-256 15fef701adfb319cf28be4a0b3422fea091dfd2a67a5b95db85089301c116536

See more details on using hashes here.

File details

Details for the file Ordered_set_37-2.0-py3-none-any.whl.

File metadata

  • Download URL: Ordered_set_37-2.0-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.1 setuptools/62.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.13

File hashes

Hashes for Ordered_set_37-2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 994cb95b9fc788fd8b5cc1741f98ced43c85b5b412a988745d16c66d1d77a9ad
MD5 ebff8d1cb49a302f3c2e71d2e13543a6
BLAKE2b-256 468ddf7f804b42c54c2e3cfc0e5408ea69fb06f8101dc03105f10d410e2cc69e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page