python中的dict是不能排序的,只有对dict的representation进行排序,例如list或者tuple
排序肯定会用到sorted函数,那么我们就来讲一下sorted函数。

sorted

  • sorted(iterable,key,reverse)

iterable:表示可迭代的对象,例如dict.keys(), dict.items()
key:是一个函数,用来选择参与排序的元素
reverse:默认为False,从小到大排序,reverse=True,表示从大到小排序

按 key 排序

import operator
x = {1:2, 5:6, 3:4}
sorted_x = sorted(x.items(), key=operator.itemgetter(0))
# sorted_x = sorted(x.items(), key=operator.itemgetter(0), reverse=True)

itemgetter(0)表示取每项的第一个值,也就是键,来参与排序,默认是从小到大排序
结果 [(1, 2), (3, 4), (5, 6)]

按 value 排序

import operator
x = {1:2, 5:6, 3:4}
sorted_x = sorted(x.items(), key=operator.itemgetter(1))

itemgetter(1)表示取每项的值来排序
结果 [(1, 2), (3, 4), (5, 6)]

按 key 排序

def sortedDictValues1(adict): items = adict.items() items.sort() return [value for key, value in items] 
def sortedDictValues2(adict): keys = adict.keys() keys.sort() return [dict[key] for key in keys] 
def sortedDictValues3(adict): keys = adict.keys() keys.sort() return map(adict.get, keys) 
#一行语句搞定:
[(k,di[k]) for k in sorted(di.keys())] 

按 value 排序

#还是一行搞定:
[ v for v in sorted(di.values())] 

转载于:https://www.cnblogs.com/zhonghuasong/p/7495249.html

python sort dict 总结相关推荐

  1. python字典(dict)+常用方法操作+列表、元组、集合、字典的互相转换

    python字典(dict)+常用方法操作+列表.元组.集合.字典的互相转换 字典也是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据. 为了保存具有映射关系的数据,Python ...

  2. Python中将dict转换为kwargs

    Python中将dict转换为kwargs 我们都知道kwargs是变长kv参数,能否将dict转换成kwargs. 在python调用函数的时候func(**{'type'='event'}),可以 ...

  3. Python的dict字典结构操作方法学习笔记

    Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...

  4. python的dict实现

    python的dict实现 原文:http://www.jianshu.com/p/02af9673ab34 由于Python内部大量使用dict这种结构,效率要求很高,所以Python没有使用STL ...

  5. python将dict中的unicode打印成中文

    python将dict中的unicode打印成中文 import json a = {u'content': {u'address_detail': {u'province': u'\u5409\u6 ...

  6. Python sort()和sorted()

    Python sort()和sorted() sort 与 sorted 区别: sort() sort()是列表list的方法之一 L.sort(key=None, reverse=False) s ...

  7. python中dict和lambda结合的小例子

    python的dict用起来很方便,可以自定义key值,并通过下标访问,示例如下: >>> d = {'key1':'value1', ... 'key2':'value2', .. ...

  8. python sort、sorted 高级用法

    python sort.sorted高级排序技巧 转载原因:学习<机器学习实战>决策树这一章节时,对为了确定叶节点而采用的多数表决法的python程序有些疑惑 故求助度娘,发现了这篇文章, ...

  9. python sort()、sorted()

    python sort.sorted排序 这篇文章主要介绍了python sort.sorted高级排序技巧,本文讲解了基础排序.升序和降序.排序的稳定性和复杂排序.cmp函数排序法等内容.     ...

最新文章

  1. mediarecorder添加时间戳_[Paper] 自动驾驶中相机和激光雷达的时间戳误差标定
  2. java逻辑代码_Java逻辑代码判断字数
  3. Delphi数据库编程一日通
  4. 想满分的看这里:1015 德才论 (25分)
  5. Maven详解(转)
  6. [蓝桥杯][2019年第十届真题c/c++B组]后缀表达式(解释sum -= 2*a[i])
  7. 在linux下使用ps3手柄
  8. springboot医院预约挂号系统在线视频点播系统毕业设计毕设作品开题报告开题答辩PPT
  9. 华为应用市场AGC研习社|如何提升投放转化,实现获量增长?
  10. 数据结构与算法之一(书籍篇)
  11. 亮考帮优秀作业计算机操作原理,罗教授科技教学系列十∣“对分课堂”教学法...
  12. 断带抓捕器 DDZ型带式输送机断带抓捕器 DDZ35/100抓捕器
  13. 解决win10 cmd下运行python弹出windows应用商店问题
  14. TP-LINK WR941N 拆机全记录
  15. 百度地图API获取当前位置
  16. KEBA控制器通过NT50连接西门子S71200系列PLC
  17. 西门子6ES7134-6JD00-0CA1的技术参数
  18. E都市--互联网应用新概念—E都市
  19. Python计算机视觉_实现手写体识别
  20. 百度地图鹰眼轨迹---乱码问题

热门文章

  1. Java 项目中一种简单的动态修改配置即时生效的方式 WatchService
  2. Cloudflare推出域名注册服务:不赚利润只收取成本费
  3. 中本聪愿景大会(SVC):BCH最贴近中本聪白皮书
  4. 对抗神经机器翻译:GAN+NMT 模型,中国研究者显著提升机翻质量
  5. Android开发之发送短信
  6. 1215课后练习----判断字符串位置
  7. 初学 Delphi 嵌入汇编[27] - XCHG 指令: 交换寄存器的内容
  8. IBM X60/X61无光驱安装XP
  9. 服务端渲染SSR的理解
  10. python已知有列表_python 列表常用方法