3. Sort dict in python

http://stackoverflow.com/questions/613183/sort-a-python-dictionary-by-value

  • Sort by keys:

  • import operator
    x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
    sorted_x = sorted(x.items(), key=operator.itemgetter(0),reverse=True)
    for k,v in sorted_x: # Return a tuple, can directly use: 'for k,v in sorted_x'
        ...
    
  • Sort by values:

  • import operator
    x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
    sorted_x = sorted(x.items(), key=operator.itemgetter(1),reverse=True)
    
  • Using lambda:

  • Sort by keys:

  • sorted(d.items(), key=lambda x: x[0],reverse=True)
    
  • Sort by values:

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