input: Write a function to sort words in a given string by their length in decreasing alphabetical order. If the string is empty then return it as it is.
  def sort_by_length_and_alpha(my_string):
      if my_string == "": return my_string
      words = my_string.split(' ')
      words_with_length = [(len(word), word) for word in words] 
      words_with_length.sort(reverse = True)
      sorted_string = " ".join([i[1] for i in words_with_length])
      return sorted_string
  assert sort_by_length_and_alpha("This is the string which is to be sorted") == "which string sorted This is to be the"
  assert sort_by_length_and_alpha("Python is fun") == "Python fun is"
  assert sort_by_length_and_alpha("Hello world") == "Hello world"
  assert sort_by_length_and_alpha("a an the") == "the an a"
  assert sort_by_length_and_alpha("") == ""
output: def sort_by_length_and_alpha(my_string):
      if my_string == "": return my_string
      words = my_string.split(' ')
      words_with_length = [(len(word), word) for word in words] 
      words_with_length.sort(reverse = True)
      sorted_string = " ".join([i[1] for i in words_with_length])
      return sorted_string