Python字典按"键"或者"值"排序

https://blog.csdn.net/xsj_blog/article/details/51847831

dict_info = {'a': {'aa': 10, 'ab': 'pass'}, 'b': {'aa': 20, 'ab': 'pass'}, 'c': {'aa': 15, 'ab': 'fail'}, }
print(dict_info)
new_dict_info = sorted(dict_info.items(), key=lambda e:e[1]['aa'], reverse=True)
print(new_dict_info)
print(dict_info)

for list_index in range(len(new_dict_info)):
    if 'fail' == new_dict_info[list_index][1]['ab']:
        fail_item = new_dict_info.pop(list_index)
        new_dict_info.insert(0, fail_item)

print(new_dict_info)
print(dict_info)

{'a': {'aa': 10, 'ab': 'pass'}, 'b': {'aa': 20, 'ab': 'pass'}, 'c': {'aa': 15, 'ab': 'fail'}}
[('b', {'aa': 20, 'ab': 'pass'}), ('c', {'aa': 15, 'ab': 'fail'}), ('a', {'aa': 10, 'ab': 'pass'})]
{'a': {'aa': 10, 'ab': 'pass'}, 'b': {'aa': 20, 'ab': 'pass'}, 'c': {'aa': 15, 'ab': 'fail'}}
[('c', {'aa': 15, 'ab': 'fail'}), ('b', {'aa': 20, 'ab': 'pass'}), ('a', {'aa': 10, 'ab': 'pass'})]
{'a': {'aa': 10, 'ab': 'pass'}, 'b': {'aa': 20, 'ab': 'pass'}, 'c': {'aa': 15, 'ab': 'fail'}}

results matching ""

    No results matching ""