1. Problema
Ordenar objetos que pertenezca a una misma clase y que no cuenten nativamente con soporte para operaciones de comparación.
2. Solución
La función sorted() recibe como argumento una expresión que dicta cómo debe llevarse el ordenamiento de una lista de objetos a partir de un campo de identificación de éstos (Beazly, Jones, 2013).
3. Código Python 3
Prueba de ejecución:
[Usuario(13), Usuario(2), Usuario(11), Usuario(7)] [Usuario(2), Usuario(7), Usuario(11), Usuario(13)] [Usuario(2), Usuario(7), Usuario(11), Usuario(13)]
En la línea 14 se ordenan los elementos de la lista usuarios a partir de una expresión lambda que toma el campo id de la clase Usuario.
Otra forma de realizar el ordenamiento es por medio del operador attrgetter(): se especifica el campo de ordenamiento, para este caso el id.
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O