Python实现字典按key或者value进行排序操作示例【sorted】
本文实例讲述了Python实现字典按key或者value进行排序操作。分享给大家供大家参考,具体如下:
要点:使用到了python的内建函数与lambda函数
代码如下:(可直接复制运行)
#-*-coding:utf-8-*- #!python2 print'------定义一个字典d1---------------------------------------' d1={'a':14,'c':12,'b':11,'e':13,'f':16,'d':15} print'------打印d1---------------------------------------' printd1 print'------遍历字典d1---------------------------------------' foriind1: printi print'------遍历字典d1---------------------------------------' fortempind1.items(): printtemp print'------遍历字典的key---------------------------------------' forkey,valueind1.items(): printkey print'------遍历字典的value---------------------------------------' forkey,valueind1.items(): printvalue print'------遍历字典的key和value---------------------------------------' forkey,valueind1.items(): printkey,value print'---------------------------------------------' print'---------------------------------------------' # print'------d1.items()与其类型展示---------------------------------------' res=d1.items() print'res=',res,'\nrestypeis',type(res) print'------d1.iteritems()与其类型展示---------------------------------------' res2=d1.iteritems() print'res=',res2,'\nres2typeis',type(res2) print'------d1按value排序(正序:从小到大)---------------------------------------' res3=sorted(d1.iteritems(),key=lambdad:d[1],reverse=False) print'res3=',res3 print'------d1按value排序(倒序:从大到小)---------------------------------------' res4=sorted(d1.iteritems(),key=lambdad:d[1],reverse=True) print'res4=',res4 print'------d1按key排序(倒序:从大到小)---------------------------------------' res5=sorted(d1.iteritems(),key=lambdad:d[0],reverse=True) print'res5=',res5 print'------d1按key排序(正序:从小到大)---------------------------------------' res6=sorted(d1.iteritems(),key=lambdad:d[0],reverse=False) print'res6=',res6 print'------d1中取出key排序后生成一个列表---------------------------------------' res7=[keyforkey,valueinres6]#注:res6是d1按key排序(正序:从小到大)的结果 print'res7=',res7 print'------d1中取出value排序后生成一个列表---------------------------------------' res8=[valueforkey,valueinres3]#注:res3是d1按value排序(正序:从小到大)的结果 print'res8=',res8
运行结果:
------定义一个字典d1---------------------------------------
------打印d1---------------------------------------
{'a':14,'c':12,'b':11,'e':13,'d':15,'f':16}
------遍历字典d1---------------------------------------
a
c
b
e
d
f
------遍历字典d1---------------------------------------
('a',14)
('c',12)
('b',11)
('e',13)
('d',15)
('f',16)
------遍历字典的key---------------------------------------
a
c
b
e
d
f
------遍历字典的value---------------------------------------
14
12
11
13
15
16
------遍历字典的key和value---------------------------------------
a14
c12
b11
e13
d15
f16
---------------------------------------------
---------------------------------------------
------d1.items()与其类型展示---------------------------------------
res= [('a',14),('c',12),('b',11),('e',13),('d',15),('f',16)]
restypeis
------d1.iteritems()与其类型展示---------------------------------------
res=
res2typeis
------d1按value排序(正序:从小到大)---------------------------------------
res3= [('b',11),('c',12),('e',13),('a',14),('d',15),('f',16)]
------d1按value排序(倒序:从大到小)---------------------------------------
res4= [('f',16),('d',15),('a',14),('e',13),('c',12),('b',11)]
------d1按key排序(倒序:从大到小)---------------------------------------
res5= [('f',16),('e',13),('d',15),('c',12),('b',11),('a',14)]
------d1按key排序(正序:从小到大)---------------------------------------
res6= [('a',14),('b',11),('c',12),('d',15),('e',13),('f',16)]
------d1中取出key排序后生成一个列表---------------------------------------
res7= ['a','b','c','d','e','f']
------d1中取出value排序后生成一个列表---------------------------------------
res8= [11,12,13,14,15,16]
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。