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