前言:
此时同学们对“python 字典的值排序”大概比较关注,兄弟们都需要学习一些“python 字典的值排序”的相关资讯。那么小编同时在网络上汇集了一些对于“python 字典的值排序””的相关资讯,希望咱们能喜欢,咱们一起来学习一下吧!当用sorted()函数对字典临时排序的时候,默认是对字典键名从小到大排序,排序的结果以列表的形式输出。如图14-10-1所示实例14-10-1用sorted()对棋类字典排序.pyw,程序执行结果见图14-10-2:
当用sorted()函数对字典临时排序的时候,如果要求字典键名从大到小排序,需要在sorted()中增加参数“reverse=True”, 如图14-10-3所示实例14-10-2用sorted()对棋类字典键名从大到小排序.pyw,程序执行结果见图14-10-4:
用sorted()函数对字典临时排序的时候,如果要求根据字典键值从小到大排序,需要修改sorted()中的参数为“chess.values()”, 如图14-10-5所示实例14-10-3用sorted()对棋类字典键值从小到大排序.pyw,程序执行结果见图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-9所示实例14-10-5字典转换为列表后按棋类键名排序.pyw,将字典依据键名用交换法进行了从小到大排序。其执行结果如图14-10-10所示,排序结果输出仍然是字典,这是真正意义的对字典的排序:
图14-10-12所示实例14-10-6字典转换为列表后按棋类键值排序.pyw,将字典依据键值用交换法进行了从大到小排序,它实际上只把比较语句“if a[j]>a[j+1]:”修改为“if b[j]<b[j+1]:”,即a[]列表代表键名,b[]列表代表键值,这里“>”和“<”意思是“从小到大”排序或“从大到小”排序。其执行结果如图14-10-11所示:
标签: #python 字典的值排序 #python3 字典排序 #输出排序sorded