按字典的值对字典进行排序

Posted 安迪_963

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按字典的值对字典进行排序相关的知识,希望对你有一定的参考价值。

有时有一种需要,求要按字典的值对字典值进行排序:

下面有两种方法

#!/usr/bin/env python
#coding:utf-8
#@Author:Andy

from random import randint

# generate a random dict
dict1 = {x :randint(1, 100) for x in "abczyx"}
print(dict1)
#method 1
# use built in function  sorted ,zip
dict2 = sorted(zip(dict1.values(), dict1.keys()))
print(dict2)

print("*********")
#method 2

dict3 = sorted(dict1.items(), key = lambda x : x[1])
print(dict3)

 

 

 上面这两种方法最终排序完成的都是一个元组,并非字典,如果需要,可以将其还原成字典。

而且定两种方法得出的元组的形式是相反的。但如果这时需要得到键,那这两种方式都是很方便的。

 

以上是关于按字典的值对字典进行排序的主要内容,如果未能解决你的问题,请参考以下文章

在PHP中按数组键的值对字典中的数组进行排序

按字典值的值对字典进行排序

按字典键的值对包含 NSMutableDictionary 的 NSMutableArray 进行排序

如何按值对 Python 字典进行排序? [复制]

python基础一 ------如何根据字典值对字典进行"排序"

JavaScript按属性值对字典进行排序[重复]