1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > arraylist从大到小排序_初学Python最简易入门之十四排序算法10对字典排序

arraylist从大到小排序_初学Python最简易入门之十四排序算法10对字典排序

时间:2019-06-09 12:32:24

相关推荐

arraylist从大到小排序_初学Python最简易入门之十四排序算法10对字典排序

当用sorted()函数对字典临时排序的时候,默认是对字典键名从小到大排序,排序的结果以列表的形式输出。如图14-10-1所示实例14-10-1用sorted()对棋类字典排序.pyw,程序执行结果见图14-10-2:

图14-10-1

图14-10-2

当用sorted()函数对字典临时排序的时候,如果要求字典键名从大到小排序,需要在sorted()中增加参数“reverse=True”, 如图14-10-3所示实例14-10-2用sorted()对棋类字典键名从大到小排序.pyw,程序执行结果见图14-10-4:

图14-10-3

图14-10-4

用sorted()函数对字典临时排序的时候,如果要求根据字典键值从小到大排序,需要修改sorted()中的参数为“chess.values()”, 如图14-10-5所示实例14-10-3用sorted()对棋类字典键值从小到大排序.pyw,程序执行结果见图14-10-6:

图14-10-5

图14-10-6

想想练练

如果要求根据字典键值从大到小排序,需要像根据键名从大到小排序那样进一步修改sorted()中的参数,请根据图14-10-3所示程序14-10-2和图14-10-5所示程序14-10-3那样编写程序将棋子数排序为“361,50,32,32”。

当我们想用sorted()对字典排序且要求同时输出键名和值的时候,我们就必须进一步增加sorted()中的参数,如图14-10-7所示实例程序14-10-4用sorted()对棋类字典键名从小到大排序输出键名和键值.pyw,我们在sorted()函数的参数表中修改了“chess.items()”,增加了“key=lambda x:x[0]”。程序执行后输出结果如图14-10-8:

图14-10-7

大家可以看出:其输出结果以列表中的元组形式存在。它已不是字典了。如果要求最后的排序结果仍然是以字典的形式出现。需要进一步转换。

当然,字典的排序也可以使用我们本章前七节讲述的排序方法,自己编写程序实现排序的功能。

图14-10-8

图14-10-9所示实例14-10-5字典转换为列表后按棋类键名排序.pyw,将字典依据键名用交换法进行了从小到大排序。其执行结果如图14-10-10所示,排序结果输出仍然是字典,这是真正意义的对字典的排序:

图14-10-9

图14-10-10

图14-10-12所示实例14-10-6字典转换为列表后按棋类键值排序.pyw,将字典依据键值用交换法进行了从大到小排序,它实际上只把比较语句“if a[j]>a[j+1]:”修改为“if b[j]”和“

图14-10-11

图14-10-12

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。