Slightly better:   
return dict((k.lower(), v) for k,v in input_dict.iteritems())

Or:
return {k.lower():v for k, v in input_dict.iteritems()}