input: Write a function to calculate the dot product of two lists. The function should take two lists as arguments and return the dot product. If the lists are of different lengths, the function should return -1.
  assert dot_product([1,2], [3,4])==11
  assert dot_product([1,2,3], [4,5,6])==32
  assert dot_product([1,2], [3,4,5])==-1
  assert dot_product([], [])==0
  assert dot_product([1], [2])==2
output: def dot_product(list1, list2):
      if len(list1) != len(list2):
          return -1
      return sum(x * y for x, y in zip(list1, list2))