对python中的字典进行排序

原创 2015年07月10日 17:14:33

1、按键排序

方法1:最简单的方法,排列元素(key/value对)然后挑出值字典的items方法,会返回一个元组的列表,其中每个元组都包含一对项目 ——键与对应的值。此时排序可以sort()方法

def sortedDictValues1(adict): 
items = adict.items() 
items.sort() 
return [value  for key, value  in items]

方法2:使用排列键(key)的方式,挑出值,速度比方法1快。字典对象的keys()方法返回字典中所有键值组成的列表,次序是随机的。需要排序时只要对返回的键值列表使用sort()方法

def sortedDictValues1(adict): 
keys = adict.keys() 
keys.sort() 
return [adict[key]  for key  in keys]

方法3:通过映射的方法去更有效的执行最后一步

def sortedDictValues1(adict): 
keys = adict.keys() 
keys.sort() 
return map adict.get,keys 

方法4:对字典按键排序,用元组列表的形式返回,同时使用lambda函数来进行;

sorted(iterable[, cmp[, key[, reverse]]]

cmp和key一般使用lambda

如:
>>> d={"ok":1,"no":2}
对字典按键排序,用元组列表的形式返回
>>> sorted(d.items(), key=lambda d:d[0])
[('no', 2), ('ok', 1)]

2、按值排序

对字典按值排序,用元组列表的形式返回

sorted(dict.items(), key=lambda d:d[1],reverse=True)

[('ok', 1), ('no', 2)]

python的sorted函数对字典按key排序和按value排序

1.sorted函数按key值对字典排序     先来基本介绍一下sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse...
  • tangtanghao511
  • tangtanghao511
  • 2015年08月20日 17:09
  • 59253

深入Python(1): 字典排序 关于sort()、reversed()、sorted()

http://www.cnblogs.com/BeginMan/p/3193081.html 一、Python的排序 1、reversed() 这个很好理解,reversed英文意思就是:a...
  • hshl1214
  • hshl1214
  • 2014年10月29日 16:18
  • 3695

深入Python(1): 字典排序 关于sort()、reversed()、sorted()、cmp()等

一、最不沾边的cmp() cmp(x, y) Compare the two objects x and y and return an integer according to the out...
  • wenyusuran
  • wenyusuran
  • 2014年05月08日 11:11
  • 3004

Python字典按值排序、包含字典的列表按字典值排序的方法

#-*- encoding=utf-8 -*- import operator #按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} sorted_x = sor...
  • GhostFromHeaven
  • GhostFromHeaven
  • 2012年06月19日 00:50
  • 16268

关于python字典排序问题(直接对字典不能排序)

没有办法返回一个已经排好序的字典(返回值也要是字典),因为字典是按偏移来存储,并不是按键值什么顺序存储的。不过我们要对字典中的元素进行顺序处理可以直接在上图中的for循环里面进行即可。...
  • jayxujia123
  • jayxujia123
  • 2015年04月20日 09:31
  • 1843

python中字典按键或键值排序

出自:快乐的雨点的博客字典排序在程序中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排...
  • xsj_blog
  • xsj_blog
  • 2016年07月07日 01:57
  • 16263

python3字典排序

python3 字典排序说实话,对字典进行排序,这个说法本身就有问题,实际上,你无法对操纵字典说,字典,在你的底层实现里,你就得按照我指定的顺序来排列,如果这样的话,字典就丧失了它的速度优势,它也不是...
  • lishuhuakai
  • lishuhuakai
  • 2016年12月30日 19:54
  • 6801

Python按照书写顺序输出字典中的元素

参考自:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0014110312394...
  • hnyzwtf
  • hnyzwtf
  • 2015年04月22日 14:34
  • 18087

python--有序字典

字典是python开发中很常用的一种数据结构,但dict有个缺陷(其实也不算缺陷),迭代时并不是按照元素添加的顺序进行,可能在某些场景下,不能满足我们的要求。有几种解决方法: 1、使用Ord...
  • lynn_kong
  • lynn_kong
  • 2013年09月13日 15:35
  • 10441

python中字典的排序和复制

 在开发过程中通常要对字典进行排序,复制等操作,和列表一样,字典的排序也采用sorted()函数,字典的复制除了可以使用update()函数外,还可以使用copy()函数,但是得注意二者之间的区...
  • willhuo
  • willhuo
  • 2015年11月09日 15:27
  • 1602
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对python中的字典进行排序
举报原因:
原因补充:

(最多只允许输入30个字)