python sorting dictionary by length of values

后端 未结 2 1470
北荒
北荒 2020-12-04 17:57

I have found many threads for sorting by values like here but it doesn\'t seem to be working for me...

I have a dictionary of lists that have tuples. Each list has a

2条回答
  •  渐次进展
    2020-12-04 18:19

    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': []}]

提交回复
热议问题