python 对字典排序,python 如何对字典进行排序

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: