python 字典排序 python 字典排序

python 字典排序

 http://www.cnblogs.com/kaituorensheng/archive/2012/08/07/2627386.html

引子html

字典,形如 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素没有顺序,因此dic[0]是有语法错误的。而且不能够有重复的键值,因此 dic.add['c'] = 4后,字典变成 {'a':1 , 'b':2 , 'c': 4}.python

待解决问题函数

如何根据须要能够根据“键”或“键值”进行不一样顺序的排序?post

函数原型url

sorted(dic,value,reverse)htm

  • dic为比较函数,value 为排序的对象(这里指键或键值),
  • reverse:注明升序仍是降序,True--降序,False--升序(默认)

案例对象

dic = {'a':3 , 'b':2 , 'c': 1}blog

    

注意排序

排序以后原字典没有变,顺序依旧get

     

两个函数

1.lambda

功能: 建立匿名函数

区别: 和def函数定义,如下两点区别

  • lambda会建立一个函数对象,但不会把这个函数对象赋给一个标识符;而def则会把函数对象赋值给一个变量
  • lambda它只是一个表达式,而def则是一个语句

案例:

    

2.iteritems()

功能: iteritems()以迭代器对象返回字典键值对

区别: 和item相比:items以列表形式返回字典键值对

案例:

    

注释: 在函数sorted(dic.iteritems(), key = lambda asd:asd[1])中,第一个参数传给第二个参数“键-键值”,第二个参数取出其中的键([0])或键值(1])