Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A dictionary that is sorted by key or by the given cmp or key function.

Project Description

For Python 3 see the version that is provided in my book “Programming in Python 3”—it is in the book’s downloadable examples available from my website.

This is useful for learning, but for real use I recommend using

Provides a dictionary with the same methods and behavior as a

standard dict and that can be used as a drop-in replacement for a dict (apart from the constructor), but which always returns iterators and lists (whether of keys or values) in sorted order. It does not matter when items are inserted or when removed, the items in the sorteddict are always returned in sorted order. The ordering is implicitly based on the key’s __lt__() (or failing that __cmp__()) method if no cmp or key function is given.

The main benefit of sorteddicts is that you never have to explicitly sort.

This particular implementation has reasonable performance if the pattern of use is: lots of edits, lots of lookups, …, but gives its worst performance if the pattern of use is: edit, lookup, edit, lookup, …, in which case using a plain dict and sorted() will probably be better.

Release History

This version
History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(5.2 kB) Copy SHA256 Hash SHA256
Source None Sep 27, 2007
(6.6 kB) Copy SHA256 Hash SHA256
Source None Sep 27, 2007

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers