Python实现字典排序、按照list中字典的某个key排序的方法示例
本文实例讲述了Python实现字典排序、按照list中字典的某个key排序的方法。分享给大家供大家参考,具体如下:
1.给字典按照value按照从大到小排序
排序
dict={'a':21,'b':5,'c':3,'d':54,'e':74,'f':0} new_dict=sorted(dict.iteritems(),key=lambdad:d[1],reverse=True) printnew_dict
输出:
[('e',74),('d',54),('a',21),('b',5),('c',3),('f',0)]
2.python按照list中的字典的某key排序:
例子:
s=[ {"no":28,"score":90}, {"no":25,"score":90}, {"no":1,"score":100}, {"no":2,"score":20}, ] print"originals:",s #单级排序,仅按照score排序 new_s=sorted(s,key=lambdae:e.__getitem__('score')) print"news:",new_s #多级排序,先按照score,再按照no排序 new_s_2=sorted(new_s,key=lambdae:(e.__getitem__('score'),e.__getitem__('no'))) print"new_s_2:",new_s_2
输出:
originals: [{'score':90,'no':28},{'score':90,'no':25},{'score':100,'no':1},{'score':20,'no':2}]
news: [{'score':20,'no':2},{'score':90,'no':28},{'score':90,'no':25},{'score':100,'no':1}]
new_s_2: [{'score':20,'no':2},{'score':90,'no':25},{'score':90,'no':28},{'score':100,'no':1}]
说明
1.new_s和new_s2的区别在于当score均为90的时候,重新按照no排序
2.顺序为从小到大,若在sorted函数的参数加上reverse=True则为从大到小
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。