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

需求:{姓名:成绩} 的字典,按成绩进行排序

方法一:转化为元组,(91,"张三")的形式 ,用sorted()函数进行排序

方法二 :设置sorted() 中key的参数的值

 1 #-*-coding:UTF-8-*-
 2 #先生成一个随机字典
 3 from random import randint
 4 d= {x:randint(60,101) for x in "abcdxyz"}
 5 print(d)
 6 #方法一:元组形式
 7 #把值放前面是因为sorted()排序默认按从头比较
 8 z = zip(d.values(),d.keys())
 9 #x = zip(d.itervalues(),d.iterkeys())  迭代类型,省空间
10 #排序
11 s = sorted(z)
12 print(s)
13 
14 #方法二:sorted(key的设置)
15 a = d.items()
16 s = sorted(a,key= lambda x:x[1])
17 print(s)

 

posted @ 2017-05-10 09:56  若鸟  阅读(1299)  评论(0编辑  收藏  举报