while ver una tuplas tabla sort ordenar ordenada objetos numeros lista esta con como arreglo python reportlab ptvs

python - ver - El objeto dict_items no tiene atributo ''sort''Replace Min



python ordenar tuplas (2)

Así que la solución total basada en la respuesta de Johan es:

all_colors = sorted(reportlab.lib.colors.getAllNamedColors().items())

En primer lugar soy nuevo en Python. Estoy usando PTVS http://pytools.codeplex.com/ . A continuación instalé reportlab. Luego ejecuto una demostración de muestra en https://github.com/nakagami/reportlab/blob/master/demos/colors/colortest.py#L68 Pero en la línea,

all_colors = reportlab.lib.colors.getAllNamedColors().items() all_colors.sort() # alpha order by name

Recibo un error, el dict_items object has no attribute sort


No he probado, pero una teoría: estás usando python3!

Desde https://docs.python.org/3/whatsnew/3.0.html

Los métodos dict.keys (), dict.items () y dict.values ​​() devuelven "vistas" en lugar de listas. Por ejemplo, esto ya no funciona: k = d.keys (); k.sort (). Use k = ordenado (d) en su lugar (esto también funciona en Python 2.5 y es igual de eficiente).

como lo entiendo, una "vista" es un iterador, y un iterador no tiene la función de clasificación. Cambiarlo a

sorted(all_colors)

segun la documentacion