title: python dictionary values sorting
body: <p>I have 2 dictionaries, <code>dict1</code> and <code>dict2</code> which contain the same keys, but different values for the keys.  What I want to do is for each dictionary, sort the values from largest to smallest, and then give each value a rank 1-N, 1 being the largest value.  From here, I want to get the difference of the ranks for the values in each dictionary for the same key. For example:</p>
  
  <pre><code>dict1 = {a:0.6, b:0.3, c:0.9, d:1.2, e:0.2}
  dict2 = {a:1.4, b:7.7, c:9.0, d:2.5, e:2.0}
  
  # sorting by values would look like this:
  dict1 = {d:1.2, c:0.9, a:0.6, b:0.3, e:0.2}
  dict2 = {c:9.0, b:7.7, d:2.5, e:2.0, a:1.4}
  
  #ranking the values would produce this:
  dict1 = {d:1, c:2, a:3, b:4, e:5}
  dict2 = {c:1, b:2, d:3, e:4, a:5}
  
  #computing the difference between ranks would be something like this:
  diffs = {}
  for x in dict1.keys():
      diffs[x] = (dict1[x] - dict2[x])
  
  #diffs would look like this:
  diffs[a] = -2
  diffs[b] = 2
  diffs[c] = 1
  diffs[d] = -2
  diffs[e] = 1
  </code></pre>
  
  <p>I know dictionaries are meant to be random and not sortable, but maybe there is a method to put the keys and values into a list?  The main challenges I am facing are getting the keys and values sorted by value (largest to smallest) and then changing the value to its respective rank in the sorted list. </p>