sacar numerar longitud length geometria como calculate calcular automaticamente arctoolbox python sorting dictionary

numerar - Diccionario de clasificación de Python por longitud de valores



shape length arcpy (2)

He encontrado muchos hilos para ordenar por valores como here pero no parece estar funcionando para mí ...

Tengo un diccionario de listas que tienen tuplas. Cada lista tiene una cantidad diferente de tuplas. Quiero ordenar el diccionario por la cantidad de tuplas que contiene cada lista.

>>>to_format >>>{"one":[(1,3),(1,4)],"two":[(1,2),(1,2),(1,3)],"three":[(1,1)]} >>>for key in some_sort(to_format): print key, >>>two one three

es posible?


dict= {''a'': [9,2,3,4,5], ''b'': [1,2,3,4, 5, 6], ''c'': [], ''d'': [1,2,3,4], ''e'': [1,2]} dict_temp = {''a'': ''hello'', ''b'': ''bye'', ''c'': '''', ''d'': ''aa'', ''e'': ''zz''} def sort_by_values_len(dict): dict_len= {key: len(value) for key, value in dict.items()} import operator sorted_key_list = sorted(dict_len.items(), key=operator.itemgetter(1), reverse=True) sorted_dict = [{item[0]: dict[item [0]]} for item in sorted_key_list] return sorted_dict print (sort_by_values_len(dict)) output: [{''b'': [1, 2, 3, 4, 5, 6]}, {''a'': [9, 2, 3, 4, 5]}, {''d'': [1, 2, 3, 4]}, {''e'': [1, 2]}, {''c'': []}]


>>> d = {"one": [(1,3),(1,4)], "two": [(1,2),(1,2),(1,3)], "three": [(1,1)]} >>> for k in sorted(d, key=lambda k: len(d[k]), reverse=True): print k, two one three

Esto también funciona:

>>> print '' ''.join(sorted(d, key=lambda k: len(d[k]), reverse=True)) two one three