input: Write a function to create an autocomplete feature that generates a list of suggestions for further typing based on a given prefix. The function should take in a dictionary of words and a prefix string as arguments, and return a list of words from the dictionary that start with the given prefix. If the dictionary or prefix is empty, return an empty list.
  assert auto_complete(["dog", "deer", "deal", "dungeon", "dark", "dusk"], "d") == ['dog', 'deer', 'deal', 'dungeon', 'dark', 'dusk']
  assert auto_complete(["apple", "apricot", "banana", "blueberry"], "ap") == ['apple', 'apricot']
  assert auto_complete(["cat", "car", "dog", "door"], "") == []
  assert auto_complete([], "a") == []
  assert auto_complete(["hat", "hand", "hammer"], "ha") == ['hat', 'hand', 'hammer']
output: def auto_complete(words, prefix):
      if not words or not prefix:
          return []
      return [word for word in words if word.startswith(prefix)]