input: Write a function to take in a list and return a dictionary where the keys are the elements of the list and the values are the product of each element with itself. If the input list is empty, return an empty dictionary.
  assert product_of_list([7, 8, 5])=={7: 49, 8: 64, 5: 25}
  assert product_of_list([3, 4, -1])=={3: 9, 4: 16, -1: 1}
  assert product_of_list([])=={}
output: def product_of_list(lst):
      return {x: x * x for x in lst}