input: Write a function that removes duplicates from a given list while preserving the order of the elements. If the input list is empty, return an empty list as well.
  
  def remove_duplicates_preserve_order(my_list):
      seen = set()
      result = []
      for item in my_list:
          if item not in seen:
              seen.add(item)
              result.append(item)
      return result
  
  my_list = [1, 2, 3, 4, 3, 2, 1]
  assert remove_duplicates_preserve_order(my_list) == [1, 2, 3, 4]
  
  empty_list = []
  assert remove_duplicates_preserve_order(empty_list) == []
output: def remove_duplicates_preserve_order(my_list):
      seen = set()
      result = []
      for item in my_list:
          if item not in seen:
              seen.add(item)
              result.append(item)
      return result