code: def sorted_items(d, key=__identity, reverse=False):
  	
  	# wrap the key func so it operates on the first element of each item
  	def pairkey_key(item):
  		return key(item[0])
  	return sorted(d.items(), key=pairkey_key, reverse=reverse)
docs: Return the items of the dictionary sorted by the keys
  
  	>>> sample = dict(foo=20, bar=42, baz=10)
  	>>> tuple(sorted_items(sample))
  	(('bar', 42), ('baz', 10), ('foo', 20))
  
  	>>> reverse_string = lambda s: ''.join(reversed(s))
  	>>> tuple(sorted_items(sample, key=reverse_string))
  	(('foo', 20), ('bar', 42), ('baz', 10))
  
  	>>> tuple(sorted_items(sample, reverse=True))
  	(('foo', 20), ('baz', 10), ('bar', 42))