input: Write a function that takes in a list and prints a dictionary with the elements and the product of each element. The function should be named product_of_list and should return a dictionary where each key is an element from the input list and the value is the product of the element with itself. If the input list is empty, the function should return an empty dictionary.
  
  assert product_of_list([7, 8, 5])=={7: 49, 8: 64, 5: 25}
  assert product_of_list([1, 2, 3, 4])=={1: 1, 2: 4, 3: 9, 4: 16}
  assert product_of_list([10])=={10: 100}
  assert product_of_list([])=={}
output: def product_of_list(lst):
      return {x: x * x for x in lst}