A veces tiene sentido tener un diccionario ordenado por teclado. En C++, esto a menudo se implementa con un árbol Rojo-negro. Pero cualquier árbol de búsqueda binaria autoequilibrante servirá (sin embargo, Knuth es particularmente claro en este tema). La mejor solución que he podido encontrar hasta ahora es tomar R. McGraw's AVL-tree type y crear una clase contenedora que básicamente implemente la interfaz de mapa STL (también contando con el práctico orden de pares (dos elementos tuplas) en Python). Tal tupla corresponde básicamente a std :: map :: value_type.Mapping std :: map to Python
Sí, hay un módulo bisectrónico de Python, y aunque eso es logarítmico en el momento de la inserción de la misma manera que los árboles binarios autoequilibrantes son logarítmicos en el momento de la inserción (¿verdad?), Francamente solo quiero un objeto. Llamado OrderedDict o algo así (y no, el Python 3.1 OrderedDict no califica, eso es para pedidos de "tiempo de inserción" y, francamente, lo que el orden de inserción tiene que ver con ordenar no es del todo obvio).
Nota, un diccionario ordenado por clave es muy útil en muchas industrias (en finanzas, por ejemplo, es común hacer un seguimiento de los precios de los libros de datos, que son básicamente diccionarios ordenados de precio - cantidad, información de orden agregada, etc. .).
Si alguien tiene alguna otra idea, es genial. Todo lo que sé es que acabo de obtener cinco millones de veces más inteligente con las "respuestas" de Alex Martelli. Así que pensé en preguntar.
gracias a todos! No tengo suficientes puntos o algo para recomendar a todos, pero encuentro todos los comentarios muy útiles. –