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