1. 字典的排序

    1. OrderedDict是collections中的一个包,能够记录字典元素插入的顺序,常常和排序函数一起使用来生成一个排序的字典。

    2. 在Python2.7.x版本中, collections类增加了OrderedDict, 用法如下: 

      Type "help", "copyright", "credits" or "license" for more information.

      >>> from collections import OrderedDict

      >>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}

      1. #按key排序

        >>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))

        OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])

      2. #按value排序

        >>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))

        OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])

      3. #按key的长度排序

>>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))

OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])


字典的遍历
  1. #!/usr/bin/python 
    dict={"a":"apple","b":"banana","o":"orange"} 
     
    print "##########dict######################" 
    for i in dict: 
            print "dict[%s]=" % i,dict[i] 
     
    print "###########items#####################" 
    for (k,v) in  dict.items(): 
            print "dict[%s]=" % k,v 
     
    print "###########iteritems#################" 
    for k,v in dict.iteritems(): 
            print "dict[%s]=" % k,v 
     
    print "###########iterkeys,itervalues#######" 
    for k,v in zip(dict.iterkeys(),dict.itervalues()): 
            print "dict[%s]=" % k,v


  2. 执行结果:

    ##########dict###################### 

    dict[a]= apple 

    dict[b]= banana 

    dict[o]= orange 

    ###########items##################### 

    dict[a]= apple 

    dict[b]= banana 

    dict[o]= orange 

    ###########iteritems################# 

    dict[a]= apple 

    dict[b]= banana 

    dict[o]= orange 

    ###########iterkeys,itervalues####### 

    dict[a]= apple 

    dict[b]= banana 

    dict[o]= orange 

...