python 对字典排序,python 如何对字典进行排序
我们知道Python内置的字典数据类型是乱序的,通过key得到对应的值。但是,有时我们需要对dictionary中的条目进行排序和输出,可能会按照键或值进行排序。字典的内容有多少种排序和输出方式?以下是一些绝妙的解决方法。
python容器中的数据有两种排序,一种是容器本身的排序函数,另一种是内置的排序函数。
sort函数和sorted函数的唯一区别是sort是就地排序,sorted生成一个新的排序容器。
1按键值排序
#最简单的方法是,这个按键值排序:
def排序直接值1(adict):
items=adict.items()
items.sort()
return[键值,项目中的值]
#还有一个是按键值排序的,好像比上一个快。
def排序直接值2(adict):
keys=adict.keys()
keys.sort()
return[关键字中关键字的关键字]
#还是按键值排序,据说这样更快。当键是元组时,它仍然适用。
def排序直接值3(adict):
keys=adict.keys()
keys.sort()
返回映射(adict.get,keys)
#一行语句完成:
[(k,di[k]) for k in sorted(di.keys())]
#使用排序函数的关键参数(func)排序:
#按关键字排序
Print sorted (dict1.items(),key=lambda d:d [0]) 2按值排序。
#让我们按价值排序。首先将item的键和值交换位置放入一个列表中,然后根据列表中每个元素的第一个值,即原始值,
排序:
定义排序依据值(d):
items=d.items()
backitems=[[v[1],v[0]] for v in items]
backitems.sort()
return[back items[I][1]for I in range(0,len(backitems))]
#仍然在一行中完成:
[ v for v in sorted(di.values())]
#按lambda表达式排序,这样更灵活:
排序(d.items(),lambda x,y:cmp (x [1],y [1])),或者相反的顺序:
sorted(d.items(),lambda x,y: cmp(x[1],y[1]),reverse=True)
#按排序函数的关键参数(func)排序:#按值排序
打印排序(dict1.items(),key=lambda d:d [1])知识点展开:
知识准备:
在python中,dictionary是一种内置的数据类型,是一种无序的存储结构。每个元素都是一个键值对:
例如:dict={username: password , database: master},其中 username 和 database:master}键,而 password 和 master 是值。可以通过d[key]得到对应值的引用,但是不能通过value得到key。
对于字典,你需要知道以下几点:
a、字典键区分大小写;
b、不能有重复键;在字典里;
c、字典乱序,没有元素顺序的概念,它们只是简单的排列顺序对。
推荐教程:《PHP》 《Python教程》
以上是整理Python字典的详细内容。更多信息请关注热门IT软件开发工作室其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。