code: def rank_dict(dict, key=lambda t: t[1], as_tuple=False):
      
      sorted_list = sorted(dict.items(), key=key)
      return OrderedDict(sorted_list) if not as_tuple else tuple(sorted_list)
docs: Sorts a #dict by a given key, optionally returning it as a
          #tuple. By default, the @dict is sorted by it's value.
  
          @dict: the #dict you wish to sorts
          @key: the #sorted key to use
          @as_tuple: returns result as a #tuple ((k, v),...)
  
          -> :class:OrderedDict or #tuple