input: Write a function that takes in a list and returns a dictionary with the elements as keys and the products of each element with itself as values. The function should return an empty dictionary if the input list is empty.
  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([0, -1, 2, -3])=={0: 0, -1: 1, 2: 4, -3: 9}
  assert product_of_list([])=={}
output: def product_of_list(lst):
      return {x: x*x for x in lst}