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