El 11 de agosto de 2014, 21:29, Manuel A. Estevez Fernandez <
stvz...@gmail.com> escribió:

> Gracias por tus comentarios Omar.
>
> De momento parece que ya lo resolví no se si hay una mejor manera pero de
> momento esto es lo que hice:
> Primero genero un diccionario con la llave y el valor del orden
> >>> ord_ = {key: a_[key]['orden'] for key in a_.keys()}
> Luego ordeno y obtengo una lista con el orden de los campos.
> >>> sorted(ord_, key=ord_.__getitem__)
>

Mira a ver si te vale mejor ésto:

sorted(a_.items(), key=lambda x: x[1]['orden'])




>
>
>
>
> by:
>
> ISC. Manuel Alejandro Estévez Fernández
>
>
>
> El 11 de agosto de 2014, 13:57, Omar Gutiérrez <omar....@gmail.com>
> escribió:
>
> Por aquí un ejemplo de *OrderedDict*:
>>
>> http://pymotw.com/2/collections/ordereddict.html
>>
>> Yo tenía un problema similar con unos diccionarios que quería convertir a
>> JSON. Espero que OrderedDict te ayude.
>>
>>
>> 2014-08-11 13:52 GMT-05:00 Omar Gutiérrez <omar....@gmail.com>:
>>
>> No estoy seguro, pero al parecer tendrías que usar la clase *OrderedDict*
>>> que viene en *collections*.
>>>
>>> from collections import OrderedDict
>>>
>>>
>>> Esta solución podría no funcionará en versiones viejas de Python.
>>>
>>>
>>>
>>>
>>> 2014-08-11 13:43 GMT-05:00 Manuel A. Estevez Fernandez <
>>> stvz...@gmail.com>:
>>>
>>>> Hola a todos.
>>>>
>>>> Tengo un diccionario de la siguiente manera:
>>>>
>>>> a_ = {
>>>>     u'Incoterms1': {'aplica': u'Fac', 'indice': 17, 'orden': 4,
>>>> 'columna': u'Incoterms1', 'campo': u'Incoterm'}
>>>>     , u'Net Amount': {'aplica': u'Mer', 'indice': 14, 'orden': 14,
>>>> 'columna': u'Net Amount', 'campo': u'Precio Unitario'}
>>>>     , u'Material Code': {'aplica': u'Mer', 'indice': 5, 'orden': 10,
>>>> 'columna': u'Material Code', 'campo': u'Codigo Producto'}
>>>>     , u'Total Amount': {'aplica': u'Mer', 'indice': 15, 'orden': 15,
>>>> 'columna': u'Total Amount', 'campo': u'Importe Total'}
>>>>     , u'Qty Unit': {'aplica': u'Mer', 'indice': 13, 'orden': 13,
>>>> 'columna': u'Qty Unit', 'campo':u'Unidad Comercial'}
>>>>     , u'Currency': {'aplica': u'Fac', 'indice': 16, 'orden':
>>>> 7,'columna': u'Currency', 'campo': u'Moneda '}
>>>>     , u'Invoice Number': {'aplica': u'Fac', 'indice': 3, 'orden': 3,
>>>> 'columna': u'Invoice Number', 'campo': u'Numero Factura'}
>>>>     , u'House BL No.': {'aplica': u'Gui', 'indice': 2, 'orden': 2,
>>>> 'columna':u'House BL No.', 'campo': u'Guia House'}
>>>>     , u'Master BL No.': {'aplica': u'Gui', 'indice': 22, 'orden': 1,
>>>> 'columna': u'Master BL No.', 'campo': u'Guia Master'}
>>>>     , u'DO Created on': {'aplica': u'Fac', 'indice': 19, 'orden': 5,
>>>> 'columna': u'DO Created on', 'campo': u'Fecha Factura'}
>>>>     , u'Reference Doc(SO/PO)': {'aplica': u'Fac', 'indice': 1, 'orden':
>>>> 6, 'columna': u'Reference Doc(SO/PO)', 'campo': u'Orden de Compra'}
>>>>     , u'Delivery Qty.': {'aplica': u'Mer', 'indice': 6, 'orden': 12,
>>>> 'columna': u'Delivery Qty.', 'campo': u'Cantidad Comercial'}
>>>> }
>>>>
>>>> y tengo que ordenarlo en relación al valor del KEY orden que se
>>>> encuentra en el diccionario interno.
>>>>
>>>> ¿algún consejo sobre como hacerlo?
>>>>
>>>> De momento he logrado extraer el valor de orden de cada uno y
>>>> ordenarlo, pero ya me atoré.
>>>>
>>>> sorted([ value['orden'] for (key,value) in sorted(a_.items())])
>>>>
>>>> Agradezco de antemano la ayuda.
>>>>
>>>> by:
>>>>
>>>> ISC. Manuel Alejandro Estévez Fernández
>>>>
>>>>
>>>> _______________________________________________
>>>> Python-es mailing list
>>>> Python-es@python.org
>>>> https://mail.python.org/mailman/listinfo/python-es
>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es@python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
http://ch3m4.org/blog
Buscador Python Hispano: http://ch3m4.org/python-es
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a